mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
increase 95% coverage
This commit is contained in:
@@ -4,5 +4,5 @@
|
||||
"reporter": ["html"],
|
||||
"report-dir": "./coverage",
|
||||
"check-coverage": true,
|
||||
"lines": 90
|
||||
"lines": 95
|
||||
}
|
||||
|
||||
3
TODO.md
3
TODO.md
@@ -2,6 +2,7 @@
|
||||
- [ ] __(doc)__ Video de como colaborar PR
|
||||
|
||||
### @bot-whatsapp/bot
|
||||
- [ ] agregar export package
|
||||
- [X] Posibilidad de en el capture meter todo un nuevo CTX de FLOW .addAnswer('Marca la opcion',{capture:true, join:CTX})
|
||||
- [X] .addKeyword('1') no funciona con 1 caracter
|
||||
- [X] sensitivy viene activado por defecto
|
||||
@@ -11,12 +12,14 @@
|
||||
- [ ] createDatabase validar implementacion de funciones
|
||||
|
||||
### @bot-whatsapp/database
|
||||
- [ ] agregar export package
|
||||
- [X] __(doc):__ Video para explicar como implementar nuevos database
|
||||
- [X] Mongo adapter
|
||||
- [ ] MySQL adapter
|
||||
- [ ] JsonFile adapter
|
||||
|
||||
### @bot-whatsapp/provider
|
||||
- [ ] agregar export package
|
||||
- [ ] __(doc):__ Video para explicar como implementar nuevos providers
|
||||
- [ ] WhatsappWeb provider enviar imagenes
|
||||
- [ ] WhatsappWeb provider enviar audio
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
const { EventEmitter } = require('node:events')
|
||||
const ProviderClass = require('../packages/bot/provider/provider.class')
|
||||
class MockProvider extends ProviderClass {
|
||||
constructor() {
|
||||
super()
|
||||
}
|
||||
|
||||
class MockProvider extends EventEmitter {
|
||||
delaySendMessage = (miliseconds, eventName, payload) =>
|
||||
new Promise((res) =>
|
||||
setTimeout(() => {
|
||||
@@ -10,6 +13,7 @@ class MockProvider extends EventEmitter {
|
||||
)
|
||||
|
||||
sendMessage = async (userId, message) => {
|
||||
console.log(`Enviando... ${userId}, ${message}`)
|
||||
return Promise.resolve({ userId, message })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
"link.dist": "cd packages/bot && npm link && cd ../provider && npm link && cd ../cli && npm link",
|
||||
"test.unit": "node ./node_modules/uvu/bin.js packages test",
|
||||
"test.e2e": "node ./node_modules/uvu/bin.js __tests__ test",
|
||||
"test.coverage": "node ./node_modules/c8/bin/c8.js --check-coverage --lines=90 npm run test.unit",
|
||||
"test": "npm run test.unit && npm run test.e2e",
|
||||
"test.coverage": "node ./node_modules/c8/bin/c8.js npm run test.unit",
|
||||
"test": "npm run test.coverage && npm run test.e2e",
|
||||
"cli": "node ./packages/cli/bin/cli.js",
|
||||
"dev:debug": "node --inspect ./example-app/app.js",
|
||||
"dev": "node ./example-app/app.js",
|
||||
|
||||
@@ -24,14 +24,6 @@ class ProviderClass extends EventEmitter {
|
||||
console.log('[sendMessage]', { userId, message })
|
||||
return message
|
||||
}
|
||||
|
||||
MockDelaySendMessage = (miliseconds, eventName, payload) =>
|
||||
new Promise((res) =>
|
||||
setTimeout(() => {
|
||||
this.emit(eventName, payload)
|
||||
res
|
||||
}, miliseconds)
|
||||
)
|
||||
}
|
||||
|
||||
module.exports = ProviderClass
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
const { test } = require('uvu')
|
||||
const assert = require('uvu/assert')
|
||||
const FlowClass = require('../io/flow.class')
|
||||
const MockProvider = require('../../../__mocks__/mock.provider')
|
||||
const { createBot, CoreClass } = require('../index')
|
||||
const {
|
||||
createBot,
|
||||
CoreClass,
|
||||
createFlow,
|
||||
createProvider,
|
||||
ProviderClass,
|
||||
} = require('../index')
|
||||
|
||||
class MockFlow {
|
||||
allCallbacks = [{ callback: () => console.log('') }]
|
||||
@@ -55,6 +62,16 @@ test(`[CoreClass] Probando instanciamiento de clase`, async () => {
|
||||
assert.is(bot instanceof CoreClass, true)
|
||||
})
|
||||
|
||||
test(`[CoreClass createFlow] Probando instanciamiento de clase`, async () => {
|
||||
const mockCreateFlow = createFlow([])
|
||||
assert.is(mockCreateFlow instanceof FlowClass, true)
|
||||
})
|
||||
|
||||
test(`[CoreClass createProvider] Probando instanciamiento de clase`, async () => {
|
||||
const mockCreateProvider = createProvider(MockProvider)
|
||||
assert.is(mockCreateProvider instanceof ProviderClass, true)
|
||||
})
|
||||
|
||||
test(`[Bot] Eventos 'require_action,ready,auth_failure,message '`, async () => {
|
||||
let responseEvents = {}
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
"dotenv": "^16.0.3",
|
||||
"mongodb": "^4.11.0"
|
||||
},
|
||||
"files": [
|
||||
"./lib/*"
|
||||
]
|
||||
"exports": {
|
||||
"./mock": "./lib/mock/index.cjs",
|
||||
"./mongo": "./lib/mongo/index.cjs"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ const { join } = require('path')
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
input: join(__dirname, 'mock', 'index.js'),
|
||||
input: join(__dirname, 'src', 'mock', 'index.js'),
|
||||
output: {
|
||||
file: join(__dirname, 'lib', 'mock', 'index.cjs'),
|
||||
format: 'cjs',
|
||||
@@ -11,7 +11,7 @@ module.exports = [
|
||||
plugins: [commonjs()],
|
||||
},
|
||||
{
|
||||
input: join(__dirname, 'mongo', 'index.js'),
|
||||
input: join(__dirname, 'src', 'mongo', 'index.js'),
|
||||
output: {
|
||||
file: join(__dirname, 'lib', 'mongo', 'index.cjs'),
|
||||
format: 'cjs',
|
||||
|
||||
Reference in New Issue
Block a user