UNPKG

jest-firestore

Version:

Run your tests using Jest & Firestore Emulator

55 lines (54 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFirestoreEmulatorOptions = getFirestoreEmulatorOptions; exports.getFreePort = getFreePort; exports.shouldUseSharedDBForAllJestWorkers = shouldUseSharedDBForAllJestWorkers; var _path = require("path"); var _net = require("net"); const configFile = process.env.JEST_FIRESTORE_CONFIG_FILE || 'jest-firestore-config.js'; const defaultEmulatorOptions = { auto_download: true, project_id: 'demo-e2e-test', /** * By default `localhost` is used. But NodeJS sometimes resolves it * to IPv6 address where firestore emulator not listen for it. */ host: '127.0.0.1' }; function getFirestoreEmulatorOptions(rootDir) { try { const { firestoreEmulatorOptions: options } = require((0, _path.resolve)(rootDir, configFile)); return { ...defaultEmulatorOptions, ...options }; } catch (e) { return defaultEmulatorOptions; } } function shouldUseSharedDBForAllJestWorkers(rootDir) { try { const { useSharedDBForAllJestWorkers } = require((0, _path.resolve)(rootDir, configFile)); if (typeof useSharedDBForAllJestWorkers === 'undefined') { return true; } return useSharedDBForAllJestWorkers; } catch (e) { return true; } } function getFreePort() { return new Promise(res => { const srv = (0, _net.createServer)(); srv.listen(0, () => { const port = srv.address().port; srv.close(() => res(port)); }); }); }