Моя цель - просто проверить одну функцию.Я не могу понять, как правильно издеваться над огнем.Я пытаюсь привести пример с оскорблениями из Jest Docs.У меня есть следующий код:
MusicService.js
import { initializeApp } from "firebase/app";
import "firebase/database";
const firebase = initializeApp({
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
projectId: "<PROJECT_ID>",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
});
export class MusicService {
static getAlbums() {
return firebase.database().ref("albums").once("value")
.then(snapshot => Object.values(snapshot.val()));
}
}
MusicService.test.js
import firebase from 'firebase/app';
import 'firebase/database';
import { MusicService } from './MusicService';
jest.mock('firebase/app');
jest.mock('firebase/database');
test("test", () => {
firebase.initializeApp.mockImplementation(() => {
database: jest.fn(() => {
return {
ref: jest.fn()
}
})
});
MusicService.getAlbums();
});
Проблема в том, что я получаю следующую ошибку: ![enter image description here](https://i.stack.imgur.com/2TN3v.png)
Я пытался смоделировать firebase.database.
test("test", () => {
firebase.mockImplementation(() => {
return {
database: {
}
}
});
MusicService.getAlbums();
});
Но в этом случае я получаю ошибкуэто говорит:
TypeError: _app.default.mockImplementation не является функцией.
Я не ожидаю, что будет приведен рабочий пример, но вы могли бы сказать,пожалуйста, что именно я должен издеваться?Вся библиотека Firebase или, возможно, часть, где начинается моя функция - return firebase.database()
.