mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-19 12:09:15 +00:00
test: a lot test
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user