mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-18 03:29:15 +00:00
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
const { test } = require('uvu')
|
|
const assert = require('uvu/assert')
|
|
|
|
const { inout, database, botcore } = require('../packages/index')
|
|
const MockProvider = require('../packages/provider/adapters/mock')
|
|
const MockDB = require('../packages/database/adapters/mock')
|
|
|
|
const makeFlow = () => {
|
|
const flowA = inout
|
|
.addKeyword(['hola', 'ole'])
|
|
.addAnswer('Bienvenido a github.com/leifermendez')
|
|
.addAnswer('Soy Leifer y tu ?', {
|
|
capture: true,
|
|
})
|
|
.addAnswer('Un gusto saludarte')
|
|
.toJson()
|
|
|
|
return [...flowA]
|
|
}
|
|
|
|
test(`[BotClass]: recibe los mensajes entrantes del provider`, async () => {
|
|
let messagesIn = []
|
|
let messagesOut = []
|
|
|
|
const adapterFlow = inout.create(makeFlow())
|
|
|
|
const adapterProvider = new MockProvider()
|
|
const adapterDB = await database.create(new MockDB())
|
|
|
|
await botcore.create({
|
|
flow: adapterFlow,
|
|
database: adapterDB,
|
|
provider: adapterProvider,
|
|
})
|
|
|
|
await delay(1000)
|
|
messagesOut = adapterDB.history
|
|
assert.is(messagesOut.join(), ['hola'].join())
|
|
})
|
|
|
|
function delay(miliseconds) {
|
|
return new Promise((res) => setTimeout(res, miliseconds))
|
|
}
|
|
|
|
test.run()
|