mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-19 20:19:15 +00:00
test: a lot test
This commit is contained in:
@@ -139,7 +139,7 @@ class CoreClass {
|
||||
|
||||
const continueFlow = async () => {
|
||||
const currentPrev = await this.databaseClass.getPrevByNumber(from)
|
||||
const nextFlow = await this.flowClass.find(refToContinue?.ref, true)
|
||||
const nextFlow = (await this.flowClass.find(refToContinue?.ref, true)) ?? []
|
||||
const filterNextFlow = nextFlow.filter((msg) => msg.refSerialize !== currentPrev?.refSerialize)
|
||||
const isContinueFlow = filterNextFlow.map((i) => i.keyword).includes(currentPrev?.ref)
|
||||
if (!isContinueFlow) await sendFlow(filterNextFlow, from, { prev: undefined })
|
||||
|
||||
@@ -25,16 +25,8 @@ class FlowClass {
|
||||
let refSymbol = null
|
||||
overFlow = overFlow ?? this.flowSerialize
|
||||
|
||||
const customRegex = (str = null) => {
|
||||
if (typeof str !== 'string') return
|
||||
const instanceRegex = new RegExp(str)
|
||||
return instanceRegex.test(str)
|
||||
}
|
||||
|
||||
/** Retornar expresion regular para buscar coincidencia */
|
||||
const mapSensitive = (str, mapOptions = { sensitive: false, regex: false }) => {
|
||||
if (mapOptions.regex) return customRegex(str)
|
||||
|
||||
if (mapOptions.regex) return new RegExp(str)
|
||||
const regexSensitive = mapOptions.sensitive ? 'g' : 'i'
|
||||
if (Array.isArray(str)) {
|
||||
return new RegExp(str.join('|'), regexSensitive)
|
||||
@@ -43,10 +35,7 @@ class FlowClass {
|
||||
}
|
||||
|
||||
const findIn = (keyOrWord, symbol = false, flow = overFlow) => {
|
||||
const sensitive = refSymbol?.options?.sensitive || false
|
||||
const regex = refSymbol?.options?.regex || false
|
||||
capture = refSymbol?.options?.capture || false
|
||||
|
||||
if (capture) return messages
|
||||
|
||||
if (symbol) {
|
||||
@@ -55,6 +44,8 @@ class FlowClass {
|
||||
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
||||
} else {
|
||||
refSymbol = flow.find((c) => {
|
||||
const sensitive = c?.options?.sensitive || false
|
||||
const regex = c?.options?.regex || false
|
||||
return mapSensitive(c.keyword, { sensitive, regex }).test(keyOrWord)
|
||||
})
|
||||
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
const { ProviderClass } = require('@bot-whatsapp/bot')
|
||||
const { ProviderClass } = require('../../../bot')
|
||||
|
||||
function delay(ms) {
|
||||
return new Promise((res) => setTimeout(res, ms))
|
||||
}
|
||||
|
||||
class MockProvider extends ProviderClass {
|
||||
constructor() {
|
||||
super()
|
||||
}
|
||||
|
||||
delaySendMessage = (miliseconds, eventName, payload) =>
|
||||
new Promise((res) =>
|
||||
setTimeout(() => {
|
||||
this.emit(eventName, payload)
|
||||
res
|
||||
}, miliseconds)
|
||||
)
|
||||
delaySendMessage = async (miliseconds, eventName, payload) => {
|
||||
await delay(miliseconds)
|
||||
this.emit(eventName, payload)
|
||||
}
|
||||
|
||||
sendMessage = async (userId, message) => {
|
||||
console.log(`Enviando... ${userId}, ${message}`)
|
||||
return Promise.resolve({ userId, message })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user