class Work:
pass
class Engineer:
def delegate(work: Work):
print('Doing all the hard work')
class Manager:
def __init__(self, engineer: Engineer):
self.engineer = engineer
def perform(work: Work):
self.engineer.delegate(work)
I want to test Manager
's perform() method. In doing so I want to verify if engineer.delegate()
method was called with the right params:
# pseudo
work = mock(Work)
engr = mock(Engineer)
mgr = spy(Manager)
mgr.perform(work)
verify(engr.delegate).times(1).capture(args)
assert args == work
I can't seem to wrap my head over how the above can be accomplished with pytest and pytest-mock.