Firebase Firestore Rules TestのTimestampに関する注意点

1 min read読了の目安(約700字

Firebase Firestore Rulesはシミュレータを使ってテストを行うことが出来ます。
この際に使用すべきTimesampと、そうしなかった場合のエラーについて記録します。

@firebase/testing

こちらが、シミュレータ使用時に使うべきTimestamp型です。

import * as ftest from '@firebase/testing';
ftest.firestore.Timestamp.now();

firebase

こちらを利用した場合には、エラーが発生します。

import * as firebase from 'firebase';
firebase.firestore.Timestamp.now();

FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom Timestamp object

firebase-admin

また、こちらを利用した場合にもエラーが発生します。

import * as admin from 'firebase-admin';
admin.firestore.Timestamp.now();

FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom object