test: a lot test

This commit is contained in:
Leifer Mendez
2023-02-09 15:09:52 +01:00
parent af803415e3
commit dda59fa93b
16 changed files with 530 additions and 513 deletions

View File

@@ -1,36 +1,51 @@
const { test } = require('uvu')
const { suite } = require('uvu')
const assert = require('uvu/assert')
const MOCK_DB = require('../packages/database/src/mock')
const PROVIDER_DB = require('../packages/provider/src/mock')
const { addKeyword, createBot, createFlow, createProvider } = require('../packages/bot/index')
const { addKeyword, createBot, createFlow } = require('../packages/bot/index')
const { setup, clear, delay } = require('../__mocks__/env')
test(`[Caso - 01] Flow Basico`, async () => {
const [VALUE_A, VALUE_B] = ['hola', 'buenas']
const suiteCase = suite('Flujo: sensitive')
const flow = addKeyword(VALUE_A).addAnswer(VALUE_B)
const provider = createProvider(PROVIDER_DB)
const database = new MOCK_DB()
suiteCase.before.each(setup)
suiteCase.after.each(clear)
suiteCase(`Responder a "ole" en minuscula`, async ({ database, provider }) => {
const flow = addKeyword(['ola', 'ole'], { sensitive: true }).addAnswer('Bienvenido a la OLA')
createBot({
database,
flow: createFlow([flow]),
provider,
flow: createFlow([flow]),
})
provider.delaySendMessage(100, 'message', {
await provider.delaySendMessage(0, 'message', {
from: '000',
body: VALUE_A,
body: 'ole',
})
await delay(100)
await delay(0)
const prevMsg = database.getPrevByNumber('000')
assert.is(prevMsg.answer, VALUE_B)
assert.is('Bienvenido a la OLA', database.listHistory[0].answer)
assert.is(undefined, database.listHistory[1])
})
test.run()
suiteCase(`NO Responder a "ole" en minuscula`, async ({ database, provider }) => {
const flow = addKeyword(['ola', 'ole'], { sensitive: true }).addAnswer('Bienvenido a la OLA')
function delay(ms) {
return new Promise((res) => setTimeout(res, ms))
}
createBot({
database,
provider,
flow: createFlow([flow]),
})
await provider.delaySendMessage(0, 'message', {
from: '000',
body: 'OLE',
})
await delay(0)
assert.is(undefined, database.listHistory[0])
assert.is(undefined, database.listHistory[1])
})
suiteCase.run()