You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simply just create and delete same document in different .ts file.
Steps to reproduce
Create two file below (They are doing the same thing):
t1.test.ts
import {afterEach, test} from "@jest/globals";
import firebaseFunctionsTest from "firebase-functions-test";
import * as admin from "firebase-admin";
firebaseFunctionsTest({
projectId: "projectId",
storageBucket: "storageBucket",
databaseURL: "databaseURL",
}, "./key.json");
admin.initializeApp();
const defaultFirestore = admin.firestore();
// eslint-disable-next-line require-jsdoc
async function createProfileDocument() {
// This return false
console.log((await defaultFirestore
.doc("profile/user")
.get()).exists);
// But This also return "Document already exists"
return defaultFirestore.doc("profile/user")
.create({});
}
afterEach(async ()=> {
await defaultFirestore.doc("profile/user")
.delete();
});
test("Ideal condition", async () => {
await createProfileDocument();
});
t2.test.ts
import {afterEach, test} from "@jest/globals";
import firebaseFunctionsTest from "firebase-functions-test";
import * as admin from "firebase-admin";
firebaseFunctionsTest({
projectId: "projectId",
storageBucket: "storageBucket",
databaseURL: "databaseURL",
}, "./key.json");
admin.initializeApp();
const defaultFirestore = admin.firestore();
// eslint-disable-next-line require-jsdoc
async function createProfileDocument() {
// This return false
console.log((await defaultFirestore
.doc("profile/user")
.get()).exists);
// But This also return "Document already exists"
return defaultFirestore.doc("profile/user")
.create({});
}
afterEach(async ()=> {
await defaultFirestore.doc("profile/user")
.delete();
});
test("Ideal condition", async () => {
await createProfileDocument();
});
Then run npm run jest
Expected behavior
The tests should all passed.
Actual behavior
> test
> jest
PASS test/profile/t1.test.ts
● Console
console.log
false
at test/profile/t1.test.ts:24:11
FAIL test/profile/t2.test.ts
● Console
console.log
false
at test/profile/t2.test.ts:24:11
● Ideal condition
6 ALREADY_EXISTS: Document already exists: projects/projectId/databases/(default)/documents/profile/user
27 | // But This also return "Document already exists"
28 | return defaultFirestore.doc("profile/user")
> 29 | .create({});
| ^
30 | }
31 |
32 | afterEach(async ()=> {
at callErrorFromStatus (node_modules/@grpc/grpc-js/src/call.ts:81:17)
at Object.onReceiveStatus (node_modules/@grpc/grpc-js/src/client.ts:356:55)
at Object.onReceiveStatus (node_modules/@grpc/grpc-js/src/client-interceptors.ts:454:34)
at Object.onReceiveStatus (node_modules/@grpc/grpc-js/src/client-interceptors.ts:416:48)
at node_modules/@grpc/grpc-js/src/resolving-call.ts:111:24
for call at
at ServiceClientImpl.makeUnaryRequest (node_modules/@grpc/grpc-js/src/client.ts:326:42)
at ServiceClientImpl.<anonymous> (node_modules/@grpc/grpc-js/src/make-client.ts:189:15)
at node_modules/@google-cloud/firestore/build/src/v1/firestore_client.js:227:29
at node_modules/google-gax/src/normalCalls/timeout.ts:54:13
at repeat (node_modules/google-gax/src/normalCalls/retries.ts:104:19)
at node_modules/google-gax/src/normalCalls/retries.ts:144:7
at OngoingCallPromise.call (node_modules/google-gax/src/call.ts:81:23)
at NormalApiCaller.call (node_modules/google-gax/src/normalCalls/normalApiCaller.ts:43:15)
at node_modules/google-gax/src/createApiCall.ts:118:26
Caused by: Error:
at WriteBatch.commit (node_modules/@google-cloud/firestore/build/src/write-batch.js:433:23)
at DocumentReference.create (node_modules/@google-cloud/firestore/build/src/reference.js:323:14)
at test/profile/t2.test.ts:29:8
at fulfilled (test/profile/t2.test.ts:28:58)
Test Suites: 1 failed, 1 passed, 2 total
Tests: 1 failed, 1 passed, 2 total
Snapshots: 0 total
Time: 2.995 s, estimated 3 s
Ran all test suites.
The text was updated successfully, but these errors were encountered:
Version info
**firebase-functions-test:"^3.1.0",
**firebase-functions:"^4.4.1",
**firebase-admin:"^11.11.0",
Test case
Simply just create and delete same document in different .ts file.
Steps to reproduce
t1.test.ts
t2.test.ts
npm run jest
Expected behavior
The tests should all passed.
Actual behavior
The text was updated successfully, but these errors were encountered: