mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
test: 🎨 a lot test
This commit is contained in:
@@ -1,6 +1,21 @@
|
||||
const MOCK_DB = require('../packages/database/src/mock')
|
||||
const PROVIDER_DB = require('../packages/provider/src/mock')
|
||||
|
||||
class MOCK_FLOW {
|
||||
allCallbacks = { ref: () => 1 }
|
||||
flowSerialize = []
|
||||
flowRaw = []
|
||||
find = (arg) => {
|
||||
if (arg) {
|
||||
return [{ answer: 'answer', ref: 'ref' }]
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
}
|
||||
findBySerialize = () => ({})
|
||||
findIndexByRef = () => 0
|
||||
}
|
||||
|
||||
/**
|
||||
* Preparar env para el test
|
||||
* @param {*} context
|
||||
@@ -8,11 +23,13 @@ const PROVIDER_DB = require('../packages/provider/src/mock')
|
||||
const setup = async (context) => {
|
||||
context.provider = new PROVIDER_DB()
|
||||
context.database = new MOCK_DB()
|
||||
context.flow = new MOCK_FLOW()
|
||||
}
|
||||
|
||||
const clear = async (context) => {
|
||||
context.provider = null
|
||||
context.database = null
|
||||
context.flow = null
|
||||
}
|
||||
|
||||
function delay(ms) {
|
||||
|
||||
21
__mocks__/mock.provider.js
Normal file
21
__mocks__/mock.provider.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const ProviderClass = require('../packages/bot/provider/provider.class')
|
||||
class MockProvider extends ProviderClass {
|
||||
constructor() {
|
||||
super()
|
||||
}
|
||||
|
||||
delaySendMessage = (miliseconds, eventName, payload) =>
|
||||
new Promise((res) =>
|
||||
setTimeout(() => {
|
||||
this.emit(eventName, payload)
|
||||
res
|
||||
}, miliseconds)
|
||||
)
|
||||
|
||||
sendMessage = async (userId, message) => {
|
||||
console.log(`Enviando... ${userId}, ${message}`)
|
||||
return Promise.resolve({ userId, message })
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = MockProvider
|
||||
@@ -1,6 +1,6 @@
|
||||
const { test } = require('uvu')
|
||||
const assert = require('uvu/assert')
|
||||
const MockProvider = require('../../../__mocks__/mock.provider')
|
||||
const MockProvider = require('../../provider/src/mock')
|
||||
|
||||
test(`ProviderClass`, async () => {
|
||||
const provider = new MockProvider()
|
||||
|
||||
Reference in New Issue
Block a user