Я использую React 16.13.0 и пытаюсь использовать jest для проверки, был ли вызван метод. Я очень смущен тем, как использовать издевательства. У меня есть этот метод ...
class Missions {
...
async removeVolunteerFromMission(missionId: string) {
const missions = this.repo();
const mission = await missions.findById(missionId);
mission.volunteerId = '';
mission.status = MissionStatus.unassigned;
return this.repo().update(mission);
}
...
export default new Missions();
Как мне проверить, был ли вызван мой метод "findById"? У меня есть этот метод теста ...
it('unassigns volunteer', async() => {
const missionId = "1234";
const mission = new Mission();
mission.missionId = missionId;
const mockFindById = jest.fn().mockResolvedValue(mission);
const mockUpdate = jest.fn().mockResolvedValue(mission);
const baseRepo = {
findById: () => mockFindById,
update: () => mockUpdate
};
jest.spyOn(missions, 'repo').mockReturnValue(baseRepo);
await missions.removeVolunteerFromMission(missionId);
console.log("mission === " + mission);
expect(mockFindById).toHaveBeenCalledTimes(1);
});
, но он не работает с
expect(jest.fn()).toHaveBeenCalledTimes(expected)
Expected number of calls: 1
Received number of calls: 0
29 | console.log("mission === " + mission);
30 |
> 31 | expect(mockFindById).toHaveBeenCalledTimes(1)
| ^
Как мне понять, что это на самом деле называется?