test pass

This commit is contained in:
Leifer Mendez
2022-11-11 13:31:43 +01:00
parent a8dc44b41e
commit 45272fb34f
4 changed files with 12 additions and 14 deletions

View File

@@ -2,7 +2,8 @@ const { test } = require('uvu')
const assert = require('uvu/assert') const assert = require('uvu/assert')
const { MOCK_MOBILE_WS } = require('../__mocks__/mobile.mock') 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 makeFlow = () => {
const flowA = inout const flowA = inout
@@ -21,12 +22,9 @@ test(`[BotClass]: recibe los mensajes entrantes del provider`, async () => {
let messagesIn = [] let messagesIn = []
let messagesOut = [] let messagesOut = []
const adapterFlow = await inout.create(makeFlow()) const adapterFlow = inout.create(makeFlow())
const adapterProvider = await provider.create({ const adapterProvider = mockProvider
vendor: 'mock',
credentials: {},
})
const adapterDB = await database.create({ const adapterDB = await database.create({
engine: 'mock', engine: 'mock',
credentials: {}, credentials: {},
@@ -38,12 +36,12 @@ test(`[BotClass]: recibe los mensajes entrantes del provider`, async () => {
provider: adapterProvider, 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()) assert.is(messagesIn.join(), ['hola'].join())
await delay(200) await delay(200)
bot.emit('message', { ...MOCK_MOBILE_WS, message: 'Pedro!' }) adapterProvider.emit('message', { ...MOCK_MOBILE_WS, message: 'Pedro!' })
console.log(messagesIn) console.log(messagesIn)
assert.is(messagesIn.join(), ['hola', 'Pedro!'].join()) assert.is(messagesIn.join(), ['hola', 'Pedro!'].join())
messagesOut = adapterDB.history messagesOut = adapterDB.history

View File

@@ -6,8 +6,7 @@ const ProviderClass = require('./classes/provider.class')
* @param {*} args * @param {*} args
* @returns * @returns
*/ */
const create = async ({ flow, database, provider }) => { const create = async ({ flow, database, provider }) =>
new BotClass(flow, database, provider) new BotClass(flow, database, provider)
}
module.exports = { create, ProviderClass } module.exports = { create, ProviderClass }

View File

@@ -2,6 +2,7 @@ const { EventEmitter } = require('node:events')
const { test } = require('uvu') const { test } = require('uvu')
const assert = require('uvu/assert') const assert = require('uvu/assert')
const { create } = require('../') const { create } = require('../')
const BotClass = require('../classes/bot.class')
class MockFlow {} class MockFlow {}
@@ -16,7 +17,7 @@ test(`BotClass`, async () => {
provider: new MockProvider(), provider: new MockProvider(),
} }
const bot = await create(setting) const bot = await create(setting)
bot.on('message', (ctx) => console.log(ctx)) assert.is(bot instanceof BotClass, true)
}) })
test.run() test.run()

View File

@@ -1,9 +1,9 @@
const { test } = require('uvu') const { test } = require('uvu')
const assert = require('uvu/assert') const assert = require('uvu/assert')
const MockProvider = require('../adapters/mock') const mockProvider = require('../adapters/mock')
test(`ProviderClass`, async () => { test(`ProviderClass`, async () => {
const provider = new MockProvider() const provider = mockProvider
const msg = await provider.sendMessage('123456789', 'hola') const msg = await provider.sendMessage('123456789', 'hola')
console.log(msg) console.log(msg)
assert.is(msg.userId, '123456789') assert.is(msg.userId, '123456789')