Firebase - облачный пожарный магазин - модульное тестирование завершается с ошибкой - TypeError: Аргумент «путь» должен иметь тип string.
В противном случае он работает нормально при запуске с NodeJS команда 'индекс узла. js 'Я использую служебную учетную запись и NodeJS
myservice. js
var admin = require("firebase-admin");
var serviceAccount = require("./sakey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://myapp.firebaseio.com"
});
const db = admin.firestore();
const getData = async () => {
const snapshot = await db.collection('users').get()
return snapshot.docs.map(doc => doc.data())
}
module.exports = { getData }
Контрольный пример
const { getData } = require('./myservice')
describe('my test suite', () => {
it('Retrieve data', async () => {
let result = await getData();
return result().then(data => expect(data).toBeDefined())
}
}
Ошибка
TypeError: The "path" argument must be of type string. Received type objectTypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object
at GrpcClient.loadProto (node_modules/google-gax/src/grpc.ts:166:23)
at new FirestoreClient (node_modules/@google-cloud/firestore/build/src/v1/firestore_client.js:113:38)
at ClientPool.clientFactory (node_modules/@google-cloud/firestore/build/src/index.js:329:26)
at ClientPool.acquire (node_modules/@google-cloud/firestore/build/src/pool.js:87:35)
at ClientPool.run (node_modules/@google-cloud/firestore/build/src/pool.js:164:29)
at node_modules/@google-cloud/firestore/build/src/index.js:957:30
at Firestore._retry (node_modules/@google-cloud/firestore/build/src/index.js:822:38)
пакет. json
...
"dependencies": {
"dotenv": "^8.2.0",
"firebase-admin": "^8.10.0",
"moment": "^2.24.0"
},
"devDependencies": {
"@types/jest": "^25.1.4",
"jest": "^25.1.0"
}
...