как написать тест, что метод factorial вызвал число и результаты верны

Необходимо написать тесты для проверки того, что метод factorial вызвал число - 1 раз и результаты верны (glob.factorial(4) должен быть вызван 3 раза и вернуть 24).

Ниже привожу свой код

// Write tests to check that factorial method called number - 1 times 
// and results are correct 
// ( glob.factorial(4) should be called 3 times and return 24)

const glob = {
  factorial: (number) =>
    number > 2 ? number * glob.factorial(number - 1) : number
};

// glob.factorial(4)

describe("Practicing with tests", () => {}); // modify this

Возможно подскажите, что можно изучить чтобы понять.
Читаю, документацию, но пока сложно.
Спасибо!


Ответы (1 шт):

Автор решения: SwaD

Вот примерно так можно пройти проверки

const glob = {
    factorial: (number) =>
    number > 2 ? number * glob.factorial(number - 1) : number
};
const globSpy = jest.spyOn(glob, 'factorial');

describe("Practicing with tests", () => {
    test('Result', () => {
        expect(glob.factorial(4)).toBe(24)
    })
    test('num of calls', () => {
        glob.factorial(4);
        expect(globSpy).toBeCalledTimes(3)
    })
}); // modify this
→ Ссылка