diff --git a/__tests__/basic-seller.e2e.test.js b/__tests__/basic-seller.e2e.test.js index 8a76c6a..0a9d998 100644 --- a/__tests__/basic-seller.e2e.test.js +++ b/__tests__/basic-seller.e2e.test.js @@ -2,7 +2,8 @@ const { test } = require('uvu') const assert = require('uvu/assert') const { MOCK_MOBILE_WS } = require('../__mocks__/mobile.mock') -const { inout, provider, database, botcore } = require('../packages/index') +const { inout, database, botcore } = require('../packages/index') +const mockProvider = require('../packages/provider/adapters/mock') const makeFlow = () => { const flowA = inout @@ -21,12 +22,9 @@ test(`[BotClass]: recibe los mensajes entrantes del provider`, async () => { let messagesIn = [] let messagesOut = [] - const adapterFlow = await inout.create(makeFlow()) + const adapterFlow = inout.create(makeFlow()) - const adapterProvider = await provider.create({ - vendor: 'mock', - credentials: {}, - }) + const adapterProvider = mockProvider const adapterDB = await database.create({ engine: 'mock', credentials: {}, @@ -38,12 +36,12 @@ test(`[BotClass]: recibe los mensajes entrantes del provider`, async () => { provider: adapterProvider, }) - bot.on('message', (ctx) => messagesIn.push(ctx.message)) + adapterProvider.on('message', (ctx) => messagesIn.push(ctx.message)) - bot.emit('message', { ...MOCK_MOBILE_WS, message: 'hola' }) + adapterProvider.emit('message', { ...MOCK_MOBILE_WS, message: 'hola' }) assert.is(messagesIn.join(), ['hola'].join()) await delay(200) - bot.emit('message', { ...MOCK_MOBILE_WS, message: 'Pedro!' }) + adapterProvider.emit('message', { ...MOCK_MOBILE_WS, message: 'Pedro!' }) console.log(messagesIn) assert.is(messagesIn.join(), ['hola', 'Pedro!'].join()) messagesOut = adapterDB.history diff --git a/packages/core/index.js b/packages/core/index.js index 28598d4..2c18122 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -6,8 +6,7 @@ const ProviderClass = require('./classes/provider.class') * @param {*} args * @returns */ -const create = async ({ flow, database, provider }) => { +const create = async ({ flow, database, provider }) => new BotClass(flow, database, provider) -} module.exports = { create, ProviderClass } diff --git a/packages/core/tests/bot.class.test.js b/packages/core/tests/bot.class.test.js index 099c040..e183a11 100644 --- a/packages/core/tests/bot.class.test.js +++ b/packages/core/tests/bot.class.test.js @@ -2,6 +2,7 @@ const { EventEmitter } = require('node:events') const { test } = require('uvu') const assert = require('uvu/assert') const { create } = require('../') +const BotClass = require('../classes/bot.class') class MockFlow {} @@ -16,7 +17,7 @@ test(`BotClass`, async () => { provider: new MockProvider(), } const bot = await create(setting) - bot.on('message', (ctx) => console.log(ctx)) + assert.is(bot instanceof BotClass, true) }) test.run() diff --git a/packages/provider/tests/provider.class.test.js b/packages/provider/tests/provider.class.test.js index 7d7dc69..1232799 100644 --- a/packages/provider/tests/provider.class.test.js +++ b/packages/provider/tests/provider.class.test.js @@ -1,9 +1,9 @@ const { test } = require('uvu') const assert = require('uvu/assert') -const MockProvider = require('../adapters/mock') +const mockProvider = require('../adapters/mock') test(`ProviderClass`, async () => { - const provider = new MockProvider() + const provider = mockProvider const msg = await provider.sendMessage('123456789', 'hola') console.log(msg) assert.is(msg.userId, '123456789')