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