Уже два дня я пытаюсь понять и написать тест для моей функции firebase. Для этого теста я просто хочу использовать фреймворк Jest. https://jestjs.io/
export const updateTipsPerFixture = functions.firestore.document('users/{userId}').onUpdate((change) => {
const beforeTips: Tip[] = change.before.data() !== undefined ? change.before.data().tips : [];
const afterTips: Tip[] = change.after.data() !== undefined ? change.after.data().tips : [];
if (JSON.stringify(beforeTips) === JSON.stringify(afterTips)) {
return new Promise(resolve => resolve('equal'));
}
if (afterTips.length === beforeTips.length) {
return new Promise(resolve => resolve('same length'));
}
if (beforeTips.length < afterTips.length) {
return new Promise(resolve => resolve('afterTips.length is longer'));
}
return false;
});
Даже после того, как я прочитал документацию Jest и не могу понять, как смоделировать / заглушить функциональный модуль firebase для моего варианта использования.
Это насколько я пришел. Да, не очень далеко.
describe('updateTipsPerFixture', () => {
test('it should return true when tips are equal', () => {
expect(updateTipsPerFixture).toEqual(new Promise(resolve => 'equal'));
});
});
Как мне написать тест и смоделировать модуль firebase?