From 544338b5c113c10a236bfb7afc60b58961ef6aac Mon Sep 17 00:00:00 2001 From: Iago Calazans Date: Tue, 19 Jul 2022 11:29:33 -0300 Subject: [PATCH] fix(*): :ambulance: Fix no such file or directory, scandir --- lib/use.mock.js | 130 ++++++++++++++++++++++++------------------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/lib/use.mock.js b/lib/use.mock.js index 950f4cb..fbe4876 100644 --- a/lib/use.mock.js +++ b/lib/use.mock.js @@ -1,79 +1,79 @@ /* global jest */ - const readdir = require('@folder/readdir'); const path = require('path'); +const _ = require('lodash'); -const functions = readdir.sync('./functions', { - base: 'functions', basename: true, depth: 6, nodir: true, -}); -const assets = readdir.sync('./assets', { - base: 'assets', basename: true, depth: 6, nodir: true, -}); +if (process.env.NODE_ENV === 'test') { + const functions = readdir.sync('./functions', { + base: 'functions', basename: true, depth: 6, nodir: true, + }); + const assets = readdir.sync('./assets', { + base: 'assets', basename: true, depth: 6, nodir: true, + }); -Object.defineProperty( - global, 'Runtime', { - enumerable: true, - get: () => ({ - getFunctions: jest.fn(() => (functions.reduce((p, c) => { - p[`${c.replace('.protected.js', '').replace('.private.js', '').replace('.js', '')}`] = { - path: path.resolve('./functions', c).replace('.js', ''), - }; - return p; - }, {}))), - getSync: jest.fn(), - getAssets: jest.fn(() => (assets.reduce((p, c) => { - p[`/${c.replace('.private', '')}`] = { - path: path.resolve('./assets', c).replace('.js', ''), - }; - return p; - }, {}))), - }), - }, -); + Object.defineProperty( + global, 'Runtime', { + enumerable: true, + get: () => ({ + getFunctions: jest.fn(() => (functions.reduce((p, c) => { + p[`${c.replace('.protected.js', '').replace('.private.js', '').replace('.js', '')}`] = { + path: path.resolve('./functions', c).replace('.js', ''), + }; + return p; + }, {}))), + getSync: jest.fn(), + getAssets: jest.fn(() => (assets.reduce((p, c) => { + p[`/${c.replace('.private', '')}`] = { + path: path.resolve('./assets', c).replace('.js', ''), + }; + return p; + }, {}))), + }), + }, + ); -const _ = require('lodash'); + /** + * @type { import('../types/use.injection').useInjection } + */ + exports.useMock = (fn, params) => async function (...args) { + const [event] = args; + const getTwilioClient = jest.fn(); -/** - * @type { import('../types/use.injection').useInjection } - */ -exports.useMock = (fn, params) => async function (...args) { - const [event] = args; - const getTwilioClient = jest.fn(); + const providers = _.isUndefined(params?.providers) + || !_.isPlainObject(params?.providers) + ? {} : params.providers; - const providers = _.isUndefined(params?.providers) - || !_.isPlainObject(params?.providers) - ? {} : params.providers; + const client = getTwilioClient(); - const client = getTwilioClient(); + const providerThat = { + client, + }; - const providerThat = { - client, - }; + const { + request, cookies, ...values + } = event; - const { - request, cookies, ...values - } = event; + const providerNames = Object.keys(providers); - const providerNames = Object.keys(providers); + const that = { + request, + cookies, + providers: providerNames.reduce((p, c) => { + Reflect.defineProperty( + p, c, { + value: providers[c].bind(providerThat), + enumerable: true, + }, + ); + return p; + }, {}), + }; - const that = { - request, - cookies, - providers: providerNames.reduce((p, c) => { - Reflect.defineProperty( - p, c, { - value: providers[c].bind(providerThat), - enumerable: true, - }, - ); - return p; - }, {}), + try { + return await fn.apply(that, [values]); + } catch (err) { + console.error(err.stack, err.code); + return err; + } }; - - try { - return await fn.apply(that, [values]); - } catch (err) { - console.error(err.stack, err.code); - return err; - } -}; +}