From 82a6b634a9dba00c99d1ec4232a873a4d340394b Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Mon, 28 Nov 2022 11:48:25 +0100 Subject: [PATCH] increase 95% coverage --- .c8rc.json | 2 +- TODO.md | 3 +++ __mocks__/mock.provider.js | 8 ++++++-- package.json | 4 ++-- packages/DRAFT.md | 0 packages/bot/provider/provider.class.js | 8 -------- packages/bot/tests/bot.class.test.js | 19 ++++++++++++++++++- packages/database/package.json | 7 ++++--- packages/database/rollup-database.config.js | 4 ++-- packages/database/{ => src}/mock/index.js | 0 packages/database/{ => src}/mongo/index.js | 0 11 files changed, 36 insertions(+), 19 deletions(-) delete mode 100644 packages/DRAFT.md rename packages/database/{ => src}/mock/index.js (100%) rename packages/database/{ => src}/mongo/index.js (100%) diff --git a/.c8rc.json b/.c8rc.json index 81ecbe9..52f22b5 100644 --- a/.c8rc.json +++ b/.c8rc.json @@ -4,5 +4,5 @@ "reporter": ["html"], "report-dir": "./coverage", "check-coverage": true, - "lines": 90 + "lines": 95 } diff --git a/TODO.md b/TODO.md index ca9116f..b5bc535 100644 --- a/TODO.md +++ b/TODO.md @@ -2,6 +2,7 @@ - [ ] __(doc)__ Video de como colaborar PR ### @bot-whatsapp/bot +- [ ] agregar export package - [X] Posibilidad de en el capture meter todo un nuevo CTX de FLOW .addAnswer('Marca la opcion',{capture:true, join:CTX}) - [X] .addKeyword('1') no funciona con 1 caracter - [X] sensitivy viene activado por defecto @@ -11,12 +12,14 @@ - [ ] createDatabase validar implementacion de funciones ### @bot-whatsapp/database +- [ ] agregar export package - [X] __(doc):__ Video para explicar como implementar nuevos database - [X] Mongo adapter - [ ] MySQL adapter - [ ] JsonFile adapter ### @bot-whatsapp/provider +- [ ] agregar export package - [ ] __(doc):__ Video para explicar como implementar nuevos providers - [ ] WhatsappWeb provider enviar imagenes - [ ] WhatsappWeb provider enviar audio diff --git a/__mocks__/mock.provider.js b/__mocks__/mock.provider.js index 9dfd91c..67b793e 100644 --- a/__mocks__/mock.provider.js +++ b/__mocks__/mock.provider.js @@ -1,6 +1,9 @@ -const { EventEmitter } = require('node:events') +const ProviderClass = require('../packages/bot/provider/provider.class') +class MockProvider extends ProviderClass { + constructor() { + super() + } -class MockProvider extends EventEmitter { delaySendMessage = (miliseconds, eventName, payload) => new Promise((res) => setTimeout(() => { @@ -10,6 +13,7 @@ class MockProvider extends EventEmitter { ) sendMessage = async (userId, message) => { + console.log(`Enviando... ${userId}, ${message}`) return Promise.resolve({ userId, message }) } } diff --git a/package.json b/package.json index b7e2d85..b583267 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,8 @@ "link.dist": "cd packages/bot && npm link && cd ../provider && npm link && cd ../cli && npm link", "test.unit": "node ./node_modules/uvu/bin.js packages test", "test.e2e": "node ./node_modules/uvu/bin.js __tests__ test", - "test.coverage": "node ./node_modules/c8/bin/c8.js --check-coverage --lines=90 npm run test.unit", - "test": "npm run test.unit && npm run test.e2e", + "test.coverage": "node ./node_modules/c8/bin/c8.js npm run test.unit", + "test": "npm run test.coverage && npm run test.e2e", "cli": "node ./packages/cli/bin/cli.js", "dev:debug": "node --inspect ./example-app/app.js", "dev": "node ./example-app/app.js", diff --git a/packages/DRAFT.md b/packages/DRAFT.md deleted file mode 100644 index e69de29..0000000 diff --git a/packages/bot/provider/provider.class.js b/packages/bot/provider/provider.class.js index 53e45da..212f042 100644 --- a/packages/bot/provider/provider.class.js +++ b/packages/bot/provider/provider.class.js @@ -24,14 +24,6 @@ class ProviderClass extends EventEmitter { console.log('[sendMessage]', { userId, message }) return message } - - MockDelaySendMessage = (miliseconds, eventName, payload) => - new Promise((res) => - setTimeout(() => { - this.emit(eventName, payload) - res - }, miliseconds) - ) } module.exports = ProviderClass diff --git a/packages/bot/tests/bot.class.test.js b/packages/bot/tests/bot.class.test.js index 836e0a3..74fdb79 100644 --- a/packages/bot/tests/bot.class.test.js +++ b/packages/bot/tests/bot.class.test.js @@ -1,7 +1,14 @@ const { test } = require('uvu') const assert = require('uvu/assert') +const FlowClass = require('../io/flow.class') const MockProvider = require('../../../__mocks__/mock.provider') -const { createBot, CoreClass } = require('../index') +const { + createBot, + CoreClass, + createFlow, + createProvider, + ProviderClass, +} = require('../index') class MockFlow { allCallbacks = [{ callback: () => console.log('') }] @@ -55,6 +62,16 @@ test(`[CoreClass] Probando instanciamiento de clase`, async () => { assert.is(bot instanceof CoreClass, true) }) +test(`[CoreClass createFlow] Probando instanciamiento de clase`, async () => { + const mockCreateFlow = createFlow([]) + assert.is(mockCreateFlow instanceof FlowClass, true) +}) + +test(`[CoreClass createProvider] Probando instanciamiento de clase`, async () => { + const mockCreateProvider = createProvider(MockProvider) + assert.is(mockCreateProvider instanceof ProviderClass, true) +}) + test(`[Bot] Eventos 'require_action,ready,auth_failure,message '`, async () => { let responseEvents = {} diff --git a/packages/database/package.json b/packages/database/package.json index 7c199db..493f8e9 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -12,7 +12,8 @@ "dotenv": "^16.0.3", "mongodb": "^4.11.0" }, - "files": [ - "./lib/*" - ] + "exports": { + "./mock": "./lib/mock/index.cjs", + "./mongo": "./lib/mongo/index.cjs" + } } diff --git a/packages/database/rollup-database.config.js b/packages/database/rollup-database.config.js index f99232d..234425e 100644 --- a/packages/database/rollup-database.config.js +++ b/packages/database/rollup-database.config.js @@ -3,7 +3,7 @@ const { join } = require('path') module.exports = [ { - input: join(__dirname, 'mock', 'index.js'), + input: join(__dirname, 'src', 'mock', 'index.js'), output: { file: join(__dirname, 'lib', 'mock', 'index.cjs'), format: 'cjs', @@ -11,7 +11,7 @@ module.exports = [ plugins: [commonjs()], }, { - input: join(__dirname, 'mongo', 'index.js'), + input: join(__dirname, 'src', 'mongo', 'index.js'), output: { file: join(__dirname, 'lib', 'mongo', 'index.cjs'), format: 'cjs', diff --git a/packages/database/mock/index.js b/packages/database/src/mock/index.js similarity index 100% rename from packages/database/mock/index.js rename to packages/database/src/mock/index.js diff --git a/packages/database/mongo/index.js b/packages/database/src/mongo/index.js similarity index 100% rename from packages/database/mongo/index.js rename to packages/database/src/mongo/index.js