Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
How to test firebase callable function with firestore

I have a firebase callable function like

exports.getUserInfo = functions.https.onCall(async (data, context) => {
        const userIdRef = store.collection('UserID').doc('Document');
        let res = null;
        try {
            res = await store.runTransaction(async t => {
                const doc = await t.get(userIdRef);
                currentUserId = doc.data().ID;


                const newUserIdNum = currentUserId + 1;
                await t.update(userIdRef, {ID: newUserIdNum});
                let initUserData = {
                    'userID': newUserId,
                }
                return initUserData ;
            });
            console.log('Transaction success');
        } catch (e) {
            console.error('Transaction failure:', e);
        }

        return res;
})

but I am not sure how to create unit test about this. I want to mock UserID/Documment before I call test.wrap(getUserInfo), like

const myFunctions = require('../index.js')
const getUserInfoWrapped = test.wrap(myFunctions.getUserInfo);

var assert = require('assert');
describe('User', function() {
        describe('getUserInfo()', function() {
                it('should create user', async function() {
                        // sample code, this won't work
                        const snapshot = test.firestore.makeDocumentSnapshot({ID: 1001}, 'UserID/Document');
                        const data = {}
                        const result = await getUserInfoWrapped (data, {});
                        assert.equal(result.userID, "1002");
                });
        });
});

seems this case not covered by firebase document

Reference:

  • https://firebase.google.com/docs/functions/unit-testing
  • https://github.com/firebase/firebase-functions-test/blob/c77aa92d345b8e4fb5ad98534989eb8dcf7d9bc4/spec/providers/https.spec.ts
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda