Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const functions = require('firebase-functions');
- // The Firebase Admin SDK to access the Firebase Realtime Database.
- const admin = require('firebase-admin');
- admin.initializeApp();
- // add new users to the database
- exports.account = functions.auth.user().onCreate(event => {
- // console.log('addAccount()', event);
- const { uid, providerData } = event;
- const email = providerData.email;
- return admin
- .database()
- .ref('/users/' + uid)
- .set({ email, uid });
- });
- const sinon = require('sinon');
- const chai = require('chai');
- const assert = chai.assert;
- const admin = require('firebase-admin');
- const test = require('firebase-functions-test')();
- describe('Cloud Functions', () => {
- let myFunctions, adminInitStub, adminDatabaseStub;
- before(() => {
- adminInitStub = sinon.stub(admin, 'initializeApp');
- adminDatabaseStub = sinon.stub(admin, 'database');
- myFunctions = require('../index');
- });
- after(() => {
- adminInitStub.restore();
- adminDatabaseStub.restore();
- test.cleanup();
- });
- describe('account', () => {
- it('should write to /users', () => {
- // given
- const setParam = { email: 'test@test.com', uid: 1234 };
- const setStub = sinon.stub();
- setStub.withArgs(setParam).returns(true);
- const refStub = sinon.stub();
- refStub.withArgs('/users/1234').returns({ set: setStub });
- adminDatabaseStub.returns({ ref: refStub });
- const wrapped = test.wrap(myFunctions.account);
- const event = {
- uid: 1234,
- providerData: {
- email: 'test@test.com'
- }
- };
- // when
- const actual = wrapped(event);
- // then
- return assert.equal(actual, true);
- });
- });
- });
- Cloud Functions
- account
- 1) should write to /users
- 0 passing (53ms)
- 1 failing
- 1) Cloud Functions
- account
- should write to /users:
- Error: The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services.
- at FirebaseAppError.FirebaseError [as constructor] (node_modules/firebase-admin/lib/utils/error.js:42:28)
- at FirebaseAppError.PrefixedFirebaseError [as constructor] (node_modules/firebase-admin/lib/utils/error.js:88:28)
- at new FirebaseAppError (node_modules/firebase-admin/lib/utils/error.js:122:28)
- at FirebaseNamespaceInternals.app (node_modules/firebase-admin/lib/firebase-namespace.js:101:19)
- at FirebaseNamespace.app (node_modules/firebase-admin/lib/firebase-namespace.js:402:30)
- at FirebaseNamespace.ensureApp (node_modules/firebase-admin/lib/firebase-namespace.js:418:24)
- at FirebaseNamespace.fn (node_modules/firebase-admin/lib/firebase-namespace.js:280:30)
- at Function.exports.account.functions.auth.user.onCreate.event [as run] (index.js:65:21)
- at wrapped (node_modules/firebase-functions-test/lib/main.js:68:30)
- at Context.it (test/index.test.js:45:22)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement