@react-native-firebase/app
Version:
A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto
54 lines (53 loc) • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createCheckV9Deprecation = exports.checkV9Deprecation = void 0;
var _globals = require("@jest/globals");
var _index = require("./index.js");
const checkV9Deprecation = (modularFunction, nonModularFunction) => {
const consoleWarnSpy = _globals.jest.spyOn(console, 'warn').mockImplementation(() => {});
consoleWarnSpy.mockRestore();
modularFunction();
(0, _globals.expect)(consoleWarnSpy).not.toHaveBeenCalled();
consoleWarnSpy.mockClear();
const consoleWarnSpy2 = _globals.jest.spyOn(console, 'warn').mockImplementation(() => {});
nonModularFunction();
(0, _globals.expect)(consoleWarnSpy2).toHaveBeenCalledTimes(1);
consoleWarnSpy2.mockClear();
};
exports.checkV9Deprecation = checkV9Deprecation;
const createCheckV9Deprecation = moduleNames => {
return (modularFunction, nonModularFunction, methodNameKey, uniqueMessage, checkFirebaseAppDeprecationWarning = false) => {
const moduleName = moduleNames[0]; // firestore, database, etc
const instanceName = moduleNames[1] || 'default'; // default, FirestoreCollectionReference, etc
const consoleWarnSpy = _globals.jest.spyOn(console, 'warn');
consoleWarnSpy.mockReset();
consoleWarnSpy.mockImplementation(warnMessage => {
const firebaseAppDeprecationMessage = warnMessage.includes('Please use `getApp()` instead.');
if (checkFirebaseAppDeprecationWarning) {
throw new Error(`Console warn was called unexpectedly with: ${warnMessage}`);
} else {
if (!firebaseAppDeprecationMessage) {
// we want to ignore all firebase app deprecation warnings (e.g. "Please use `getApp()` instead.") unless actually testing for it which we do above
throw new Error(`Console warn was called unexpectedly with: ${warnMessage}`);
}
}
});
// Do not call `mockRestore()` unless removing the spy
modularFunction();
consoleWarnSpy.mockReset();
consoleWarnSpy.mockRestore();
const consoleWarnSpy2 = _globals.jest.spyOn(console, 'warn').mockImplementation(warnMessage => {
const message = (0, _index.createMessage)(moduleName, methodNameKey, instanceName, uniqueMessage);
if (message) {
(0, _globals.expect)(warnMessage).toMatch(message);
}
});
nonModularFunction();
(0, _globals.expect)(consoleWarnSpy2).toHaveBeenCalledTimes(1);
consoleWarnSpy2.mockReset();
};
};
exports.createCheckV9Deprecation = createCheckV9Deprecation;
//# sourceMappingURL=unitTestUtils.js.map