-
Notifications
You must be signed in to change notification settings - Fork 433
Closed
Description
Hey there,
I'm playing around with the firestore-emulator typescript test setup. Unfortunately when I add another server timestamp to one of the assertions I get an error. I changed the following test case to have an additional updatedAt field (line 92 in quickstart-nodejs/firestore-emulator/typescript-quickstart/test.ts):
@test
async "should only let users create their own profile"() {
const db = authedApp({ uid: "alice" });
await firebase.assertSucceeds(
db
.collection("users")
.doc("alice")
.set({
birthday: "January 1",
createdAt: firebase.firestore.FieldValue.serverTimestamp(),
updatedAt: firebase.firestore.FieldValue.serverTimestamp(), <---- this is new
})
);
await firebase.assertFails(
db
.collection("users")
.doc("bob")
.set({
birthday: "January 1",
createdAt: firebase.firestore.FieldValue.serverTimestamp()
})
);
}
When running npm test I get the following error:
> cloud-firestore-emulator-typescript-quickstart@1.0.1 pretest /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart
> tsc
> cloud-firestore-emulator-typescript-quickstart@1.0.1 test /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart
> FIREBASE_FIRESTORE_EMULATOR_ADDRESS='127.0.0.1:8080' mocha
MyApp
✓ require users to log in before creating a profile (76ms)
✓ should enforce the createdAt date in user profiles (90ms)
1) should only let users create their own profile
2) "after each" hook for "should only let users create their own profile"
2 passing (310ms)
2 failing
1) MyApp
should only let users create their own profile:
Uncaught Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
at fail (node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
at assert (node_modules/@firebase/firestore/dist/index.node.cjs.js:161:9)
at TransformMutation.serverTransformResults (node_modules/@firebase/firestore/dist/index.node.cjs.js:3867:9)
at TransformMutation.applyToRemoteDocument (node_modules/@firebase/firestore/dist/index.node.cjs.js:3819:37)
at MutationBatch.applyToRemoteDocument (node_modules/@firebase/firestore/dist/index.node.cjs.js:7501:37)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:12302:33
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:63
at PersistencePromise.wrapUserFunction (node_modules/@firebase/firestore/dist/index.node.cjs.js:7750:26)
at PersistencePromise.wrapSuccess (node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:25)
at PersistencePromise.next (node_modules/@firebase/firestore/dist/index.node.cjs.js:7725:29)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:12297:18
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:4320:13
at LLRBNode.inorderTraversal (node_modules/@firebase/firestore/dist/index.node.cjs.js:1832:13)
at SortedMap.inorderTraversal (node_modules/@firebase/firestore/dist/index.node.cjs.js:1708:26)
at SortedSet.forEach (node_modules/@firebase/firestore/dist/index.node.cjs.js:4319:19)
at LocalStore.applyWriteToRemoteDocuments (node_modules/@firebase/firestore/dist/index.node.cjs.js:12292:17)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:11950:30
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:63
at PersistencePromise.wrapUserFunction (node_modules/@firebase/firestore/dist/index.node.cjs.js:7750:26)
at PersistencePromise.wrapSuccess (node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:25)
at PersistencePromise.next (node_modules/@firebase/firestore/dist/index.node.cjs.js:7725:29)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:11949:18
at MemoryPersistence.runTransaction (node_modules/@firebase/firestore/dist/index.node.cjs.js:12999:16)
at LocalStore.acknowledgeBatch (node_modules/@firebase/firestore/dist/index.node.cjs.js:11944:33)
at SyncEngine.applySuccessfulWrite (node_modules/@firebase/firestore/dist/index.node.cjs.js:16159:14)
at RemoteStore.onMutationResult (node_modules/@firebase/firestore/dist/index.node.cjs.js:14876:32)
at PersistentWriteStream.onMessage (node_modules/@firebase/firestore/dist/index.node.cjs.js:13866:34)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:13697:30
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:13737:28
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7227:20
at process._tickCallback (internal/process/next_tick.js:68:7)
2) MyApp
"after each" hook for "should only let users create their own profile":
Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: AsyncQueue is already failed: Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
at fail (node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
at assert (node_modules/@firebase/firestore/dist/index.node.cjs.js:161:9)
at TransformMutation.serverTransformResults (node_modules/@firebase/firestore/dist/index.node.cjs.js:3867:9)
at TransformMutation.applyToRemoteDocument (node_modules/@firebase/firestore/dist/index.node.cjs.js:3819:37)
at MutationBatch.applyToRemoteDocument (node_modules/@firebase/firestore/dist/index.node.cjs.js:7501:37)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:12302:33
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:63
at PersistencePromise.wrapUserFunction (node_modules/@firebase/firestore/dist/index.node.cjs.js:7750:26)
at PersistencePromise.wrapSuccess (node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:25)
at PersistencePromise.next (node_modules/@firebase/firestore/dist/index.node.cjs.js:7725:29)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:12297:18
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:4320:13
at LLRBNode.inorderTraversal (node_modules/@firebase/firestore/dist/index.node.cjs.js:1832:13)
at SortedMap.inorderTraversal (node_modules/@firebase/firestore/dist/index.node.cjs.js:1708:26)
at SortedSet.forEach (node_modules/@firebase/firestore/dist/index.node.cjs.js:4319:19)
at LocalStore.applyWriteToRemoteDocuments (node_modules/@firebase/firestore/dist/index.node.cjs.js:12292:17)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:11950:30
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:63
at PersistencePromise.wrapUserFunction (node_modules/@firebase/firestore/dist/index.node.cjs.js:7750:26)
at PersistencePromise.wrapSuccess (node_modules/@firebase/firestore/dist/index.node.cjs.js:7764:25)
at PersistencePromise.next (node_modules/@firebase/firestore/dist/index.node.cjs.js:7725:29)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:11949:18
at MemoryPersistence.runTransaction (node_modules/@firebase/firestore/dist/index.node.cjs.js:12999:16)
at LocalStore.acknowledgeBatch (node_modules/@firebase/firestore/dist/index.node.cjs.js:11944:33)
at SyncEngine.applySuccessfulWrite (node_modules/@firebase/firestore/dist/index.node.cjs.js:16159:14)
at RemoteStore.onMutationResult (node_modules/@firebase/firestore/dist/index.node.cjs.js:14876:32)
at PersistentWriteStream.onMessage (node_modules/@firebase/firestore/dist/index.node.cjs.js:13866:34)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:13697:30
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:13737:28
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/firestore/dist/index.node.cjs.js:7227:20
at process._tickCallback (internal/process/next_tick.js:68:7)
at fail (node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
at AsyncQueue.verifyNotFailed (node_modules/@firebase/firestore/dist/index.node.cjs.js:7272:13)
at AsyncQueue.enqueue (node_modules/@firebase/firestore/dist/index.node.cjs.js:7224:14)
at FirestoreClient.shutdown (node_modules/@firebase/firestore/dist/index.node.cjs.js:17779:32)
at Firestore.<anonymous> (node_modules/@firebase/firestore/dist/index.node.cjs.js:19024:69)
at step (node_modules/tslib/tslib.js:133:27)
at Object.next (node_modules/tslib/tslib.js:114:57)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/tslib/tslib.js:107:75
at new Promise (<anonymous>)
at Object.__awaiter (node_modules/tslib/tslib.js:103:16)
at Object.delete (node_modules/@firebase/firestore/dist/index.node.cjs.js:19021:57)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/app/dist/index.node.cjs.js:102:47
at Array.map (<anonymous>)
at /Users/XXXXXX/quickstart-nodejs/firestore-emulator/typescript-quickstart/node_modules/@firebase/app/dist/index.node.cjs.js:101:41
What am I doing wrong? 🤔
Thanks in advance!
Metadata
Metadata
Assignees
Labels
No labels