I am using firefunctions. It works for deploy, but now I have written unit tests. and it says:
functions.config().stripe.secret;// ( Cannot read property 'secret' of undefined)
I understand that for tests you need to set up a mockConfig.
I use a config.ts to configure my functions (which is where the error is occurring)
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
//init cloud firestore db
export const db = admin.firestore();
const settings = { timestampsInSnapshots: true };
db.settings(settings)
console.log(functions.config().stripe);
export const stripeSecret = functions.config().stripe.secret;
import Stripe from 'stripe';
export const stripe = new Stripe(stripeSecret, {
apiVersion: '2020-08-27',
});
For testing, I have a test-config.ts which I reference in my unit test like this:
import { fun } from './test-config';
fun.cleanup;
In my test-config.ts I have this (sensitive info redacted)
import TestFunctions from 'firebase-functions-test';
const firebaseConfig = {
apiKey: "...lala...",
authDomain: "...lala...",
databaseURL: "...lala...",
projectId: "...lala...",
storageBucket: "...lala...",
messagingSenderId: "...lala...",
appId: "...lala...",
measurementId: "...lala..."}
const envConfig = { stripe : { secret : 'sk_test...lalala...' }};
const fun = TestFunctions(firebaseConfig, 'service-account.json');
fun.mockConfig(envConfig);
export { fun }
Any ideas why my config in the tests is not being picked up. I am using jest.
Thank you, Christopher
Aucun commentaire:
Enregistrer un commentaire