Skip to content

Commit 7c55b9b

Browse files
committed
Release v2.2.2
1 parent 65892d2 commit 7c55b9b

File tree

4 files changed

+80
-9
lines changed

4 files changed

+80
-9
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firebase-mock",
3-
"version": "2.2.1",
3+
"version": "2.2.2",
44
"homepage": "https://github.com/soumak77/firebase-mock",
55
"authors": [
66
"Kato"

browser/firebasemock.js

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/** firebase-mock - v2.2.1
1+
/** firebase-mock - v2.2.2
22
https://github.com/soumak77/firebase-mock
33
* Copyright (c) 2016 Brian Soumakian
44
* License: MIT */
@@ -44074,13 +44074,36 @@ FirebaseAuth.prototype.verifyIdToken = function (token) {
4407444074
if (!user) {
4407544075
reject(new Error('Cannot verify token'));
4407644076
} else {
44077-
resolve(_.clone(user));
44077+
var customClaims = _.clone(user.customClaims);
44078+
customClaims.uid = user.uid;
44079+
customClaims.email = user.email;
44080+
customClaims.email_verified = user.emailVerified;
44081+
resolve(customClaims);
4407844082
}
4407944083
}
4408044084
});
4408144085
});
4408244086
};
4408344087

44088+
FirebaseAuth.prototype.setCustomUserClaims = function (uid, claims) {
44089+
var err = this._nextErr('setCustomUserClaims');
44090+
var self = this;
44091+
return new Promise(function (resolve, reject) {
44092+
self._defer('setCustomUserClaims', _.toArray(arguments), function() {
44093+
err = err || self._validateExistingUid(uid);
44094+
if (err) {
44095+
reject(err);
44096+
} else {
44097+
var user = _.find(self._auth.users, function(u) {
44098+
return u.uid === uid;
44099+
});
44100+
user.customClaims = Object.assign({}, user.customClaims, claims);
44101+
resolve();
44102+
}
44103+
});
44104+
});
44105+
};
44106+
4408444107
FirebaseAuth.prototype._nextUid = function () {
4408544108
return 'simplelogin:' + (this._auth.uidCounter++);
4408644109
};
@@ -46444,6 +46467,31 @@ MockStorageBucket.prototype.deleteFile = function (name) {
4644446467
return Promise.resolve();
4644546468
};
4644646469

46470+
MockStorageBucket.prototype.getFiles = function (query) {
46471+
var self = this;
46472+
var files = [];
46473+
Object.keys(this.files).forEach(function(name) {
46474+
if (!query || !query.prefix) {
46475+
files.push(self.files[name].clone());
46476+
} else if (name.startsWith(query.prefix)) {
46477+
files.push(self.files[name].clone());
46478+
}
46479+
});
46480+
return Promise.resolve(files);
46481+
};
46482+
46483+
MockStorageBucket.prototype.deleteFiles = function (query) {
46484+
var self = this;
46485+
Object.keys(this.files).forEach(function(name) {
46486+
if (!query || !query.prefix) {
46487+
self.deleteFile(name);
46488+
} else if (name.startsWith(query.prefix)) {
46489+
self.deleteFile(name);
46490+
}
46491+
});
46492+
return Promise.resolve();
46493+
};
46494+
4644746495
MockStorageBucket.prototype.moveFile = function (oldPath, newPath) {
4644846496
this.files[newPath] = this.files[oldPath];
4644946497
this.files[newPath].name = newPath;
@@ -46461,21 +46509,31 @@ module.exports = MockStorageBucket;
4646146509
'use strict';
4646246510
var Promise = require('rsvp').Promise;
4646346511
var fs = require('fs');
46512+
var _ = require('./lodash');
4646446513

4646546514
function MockStorageFile(bucket, name) {
4646646515
this.bucket = bucket;
4646746516
this.name = name;
4646846517
this._contents = null;
4646946518
this._metadata = null;
46470-
this.bucket.files[name] = this;
46519+
if (!this.bucket.files[name]) {
46520+
this.bucket.files[name] = this;
46521+
}
4647146522
}
4647246523

46524+
MockStorageFile.prototype.clone = function() {
46525+
var file = new MockStorageFile(this.bucket, this.name);
46526+
file._contents = this._contents;
46527+
file._metadata = this._metadata;
46528+
return file;
46529+
};
46530+
4647346531
MockStorageFile.prototype.get = function() {
46474-
return Promise.resolve([this, null]);
46532+
return Promise.resolve([this.clone(), null]);
4647546533
};
4647646534

4647746535
MockStorageFile.prototype.save = function(data) {
46478-
this._contents = data;
46536+
this._contents = _.clone(data);
4647946537
return Promise.resolve();
4648046538
};
4648146539

@@ -46523,9 +46581,18 @@ MockStorageFile.prototype.move = function(destination) {
4652346581
}
4652446582
};
4652546583

46584+
MockStorageFile.prototype.setMetadata = function(data) {
46585+
this._metadata = _.clone(data);
46586+
return Promise.resolve();
46587+
};
46588+
46589+
MockStorageFile.prototype.getMetadata = function() {
46590+
return Promise.resolve([_.clone(this._metadata), null]);
46591+
};
46592+
4652646593
module.exports = MockStorageFile;
4652746594

46528-
},{"fs":2,"rsvp":41}],65:[function(require,module,exports){
46595+
},{"./lodash":56,"fs":2,"rsvp":41}],65:[function(require,module,exports){
4652946596
/*
4653046597
Mock for firebase.storage.Reference
4653146598
https://firebase.google.com/docs/reference/js/firebase.storage.Reference
@@ -46656,6 +46723,7 @@ var Promise = require('rsvp').Promise;
4665646723
function MockFirebaseUser(ref, data) {
4665746724
this._auth = ref;
4665846725
this._idtoken = Math.random().toString();
46726+
this.customClaims = {};
4665946727
this.uid = data.uid;
4666046728
this.email = data.email;
4666146729
this.password = data.password;
@@ -46673,6 +46741,7 @@ function MockFirebaseUser(ref, data) {
4667346741
MockFirebaseUser.prototype.clone = function () {
4667446742
var user = new MockFirebaseUser(this._auth, this);
4667546743
user._idtoken = this._idtoken;
46744+
user.customClaims = this.customClaims;
4667646745
return user;
4667746746
};
4667846747

@@ -46694,6 +46763,8 @@ MockFirebaseUser.prototype.reload = function () {
4669446763
self.providerData = user.providerData;
4669546764
self.providerId = user.providerId;
4669646765
self.refreshToken = user.refreshToken;
46766+
self.customClaims = user.customClaims;
46767+
self._idtoken = user._idtoken;
4669746768
resolve();
4669846769
}).catch(reject);
4669946770
});

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "firebase-mock",
3-
"version": "2.2.1",
3+
"version": "2.2.2",
44
"description": "Firebase mock library for writing unit tests",
55
"main": "./src",
66
"scripts": {

0 commit comments

Comments
 (0)