mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-21 21:19:17 +00:00
test: 🎨 a lot test
This commit is contained in:
@@ -1,6 +1,21 @@
|
|||||||
const MOCK_DB = require('../packages/database/src/mock')
|
const MOCK_DB = require('../packages/database/src/mock')
|
||||||
const PROVIDER_DB = require('../packages/provider/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
|
* Preparar env para el test
|
||||||
* @param {*} context
|
* @param {*} context
|
||||||
@@ -8,11 +23,13 @@ const PROVIDER_DB = require('../packages/provider/src/mock')
|
|||||||
const setup = async (context) => {
|
const setup = async (context) => {
|
||||||
context.provider = new PROVIDER_DB()
|
context.provider = new PROVIDER_DB()
|
||||||
context.database = new MOCK_DB()
|
context.database = new MOCK_DB()
|
||||||
|
context.flow = new MOCK_FLOW()
|
||||||
}
|
}
|
||||||
|
|
||||||
const clear = async (context) => {
|
const clear = async (context) => {
|
||||||
context.provider = null
|
context.provider = null
|
||||||
context.database = null
|
context.database = null
|
||||||
|
context.flow = null
|
||||||
}
|
}
|
||||||
|
|
||||||
function delay(ms) {
|
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 { test } = require('uvu')
|
||||||
const assert = require('uvu/assert')
|
const assert = require('uvu/assert')
|
||||||
const MockProvider = require('../../../__mocks__/mock.provider')
|
const MockProvider = require('../../provider/src/mock')
|
||||||
|
|
||||||
test(`ProviderClass`, async () => {
|
test(`ProviderClass`, async () => {
|
||||||
const provider = new MockProvider()
|
const provider = new MockProvider()
|
||||||
|
|||||||
Reference in New Issue
Block a user