Skip to content

Commit c0aee17

Browse files
committed
Resolve create() with the write time
1 parent 78d29be commit c0aee17

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

src/firestore-document.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ var Promise = require('rsvp').Promise;
66
var autoId = require('firebase-auto-ids');
77
var DocumentSnapshot = require('./firestore-document-snapshot');
88
var Queue = require('./queue').Queue;
9+
var Timestamp = require('./timestamp');
910
var utils = require('./utils');
1011
var validate = require('./validators');
12+
var WriteResult = require('./write-result');
1113

1214
function MockFirestoreDocument(path, data, parent, name, CollectionReference) {
1315
this.ref = this;
@@ -108,9 +110,11 @@ MockFirestoreDocument.prototype.create = function (data, callback) {
108110

109111
var base = self._getData();
110112
err = err || self._validateDoesNotExist(base);
111-
if (err === null) {
113+
if (err === null) {
114+
var time = Timestamp.fromDate(new Date());
115+
var result = new WriteResult(time);
112116
self._dataChanged(data);
113-
resolve();
117+
resolve(result);
114118
} else {
115119
if (callback) {
116120
callback(err);

src/write-result.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
function WriteResult(writeTime) {
4+
this.writeTime = writeTime;
5+
}
6+
7+
module.exports = WriteResult;

test/unit/firestore-document.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ describe('MockFirestoreDocument', function () {
9696
it('creates a new doc', function (done) {
9797
var createDoc = db.doc('createDoc');
9898

99-
createDoc.create({prop: 'title'});
99+
createDoc.create({prop: 'title'}).then(function (result) {
100+
expect(result).to.have.property('writeTime');
101+
}).catch(done);
100102

101103
createDoc.get().then(function (snap) {
102104
expect(snap.exists).to.equal(true);

0 commit comments

Comments
 (0)