mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-18 03:29:15 +00:00
51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
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
|
|
}
|
|
|
|
const cleaName = (name) => {
|
|
name = name.toLowerCase()
|
|
name = name.replaceAll(' ', '-')
|
|
name = name.replaceAll(':', '-')
|
|
name = name.replaceAll('"', '-')
|
|
return name
|
|
}
|
|
|
|
/**
|
|
* Preparar env para el test
|
|
* @param {*} context
|
|
*/
|
|
const setup = async (context) => {
|
|
const name = cleaName(`${context.__suite__}-${context.__test__}`)
|
|
const filename = `test-${name}.json`
|
|
context.provider = new PROVIDER_DB()
|
|
context.database = new MOCK_DB({ filename })
|
|
context.flow = new MOCK_FLOW()
|
|
await delay(10)
|
|
}
|
|
|
|
const clear = async (context) => {
|
|
context.provider = null
|
|
context.database = null
|
|
context.flow = null
|
|
}
|
|
|
|
function delay(ms) {
|
|
return new Promise((res) => setTimeout(res, ms))
|
|
}
|
|
|
|
module.exports = { setup, clear, delay }
|