I have a REST API which written in NodeJS. The REST API gets a file and information and then uploads the file to the drive and stores the information inside my Firebase/Firestore DB. I'm trying to write tests in order to test my REST API, so I need to mock Firestore. I already mock the google-drive using nock
by tracking the HTTPS requests that are made by googleapis
. Now I'm trying to do the same thing with Firestore.
I tried different methods like, for example, for authentication I tried (based on the docs):
nock('https://firestore.googleapis.com/$discovery/rest')
.persist()
.post('')
.reply(200, { 'access_token': 'abc', 'refresh_token': '123', 'expires_in': 10 })
But nock does not follow the requests. How do I use nock to track the following code? Does firebase
package actually makes requests to the API?
const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");
// First code - authenatiocation
firebase.initializeApp(firebaseConfig);
db = firebase.firestore();
// ...
// Second code - Get data from DB
const snapshot = await db.collection(collection).orderBy("timestamp", "desc").get();
// ...
// Third code - upload new report
const response = await db.collection(collection).doc(document_id).set(data);
If it's not possible with nock
, then it can be achieved?
from How to use nock in order to mock Firebase/Firestore in NodeJS?
No comments:
Post a Comment