mirror of
https://github.com/cheveguerra/api-whatsapp-ts.git
synced 2026-04-18 03:39:19 +00:00
continue
This commit is contained in:
33
__test__/bot/__mocks__/db.repositoryMock.ts
Normal file
33
__test__/bot/__mocks__/db.repositoryMock.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import DbRepository from "../../../src/bot/domain/repositories/db.repository";
|
||||
|
||||
export default class DbRepositoryMock implements DbRepository {
|
||||
getAnswer(): Promise<string> {
|
||||
return Promise.resolve("Hola soy la respuesta que esperas");
|
||||
}
|
||||
findLastContact(phone: string): Promise<number> {
|
||||
return Promise.resolve(1);
|
||||
}
|
||||
findLastMsg(
|
||||
phone: string
|
||||
): Promise<{ msg: string; step: string; contextId: string }> {
|
||||
return Promise.resolve({
|
||||
msg: "Hola de nuevo!",
|
||||
step: "fisrt",
|
||||
contextId: "0000000000000",
|
||||
});
|
||||
}
|
||||
findGreetMessage(): Promise<string> {
|
||||
return Promise.resolve("Hola y bienvenido soy el saludo");
|
||||
}
|
||||
saveRecord({
|
||||
msg,
|
||||
phone,
|
||||
contextId,
|
||||
}: {
|
||||
msg: string;
|
||||
phone: string;
|
||||
contextId: string;
|
||||
}): Promise<boolean> {
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
}
|
||||
8
__test__/bot/__mocks__/dialog.repositoryMock.ts
Normal file
8
__test__/bot/__mocks__/dialog.repositoryMock.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import DialogRepository from "../../../src/bot/domain/repositories/dialog.repository";
|
||||
|
||||
export default class DialogRepositoryMock implements DialogRepository{
|
||||
getAnswer({ msg, contextId }: any): Promise<string> {
|
||||
return Promise.resolve('Quieres helado')
|
||||
}
|
||||
|
||||
}
|
||||
13
__test__/bot/__mocks__/whatsapp.repositoryMock.ts
Normal file
13
__test__/bot/__mocks__/whatsapp.repositoryMock.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { Message } from "../../../src/bot/domain/message";
|
||||
import WhatsappRepository from "../../../src/bot/domain/repositories/whatsapp.repository";
|
||||
|
||||
const MESSAGE_MOCK = new Message({ msg: "Hola msg!", phone: "777777777" });
|
||||
|
||||
export default class WhatsappRepositoryMock implements WhatsappRepository {
|
||||
sendMsg({ msg, phone, contextId }: any): Promise<Message | null | undefined> {
|
||||
return Promise.resolve(MESSAGE_MOCK);
|
||||
}
|
||||
onMsg({ msg, phone }: any): Promise<string | null | undefined> {
|
||||
return Promise.resolve('MESSAGE_MOCK');
|
||||
}
|
||||
}
|
||||
43
__test__/bot/application/greeting.test.ts
Normal file
43
__test__/bot/application/greeting.test.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import Greeting from "../../../src/bot/application/greeting";
|
||||
import DbRepository from "../../../src/bot/domain/repositories/db.repository";
|
||||
import DialogRepository from "../../../src/bot/domain/repositories/dialog.repository";
|
||||
import WhatsappRepository from "../../../src/bot/domain/repositories/whatsapp.repository";
|
||||
import WhatsBus from "../../../src/bot/infrastructure/events/whatsapp.events";
|
||||
import DbRepositoryMock from "../__mocks__/db.repositoryMock";
|
||||
import DialogRepositoryMock from "../__mocks__/dialog.repositoryMock";
|
||||
import WhatsappRepositoryMock from "../__mocks__/whatsapp.repositoryMock";
|
||||
|
||||
let whatsappRepository: WhatsappRepository;
|
||||
let dbRepository: DbRepository;
|
||||
let dialogRepository: DialogRepository;
|
||||
let greeting: Greeting;
|
||||
let whatsBus: WhatsBus;
|
||||
|
||||
beforeEach(() => {
|
||||
whatsappRepository = new WhatsappRepositoryMock();
|
||||
dbRepository = new DbRepositoryMock();
|
||||
dialogRepository = new DialogRepositoryMock();
|
||||
whatsBus = new WhatsBus();
|
||||
greeting = new Greeting([
|
||||
whatsappRepository,
|
||||
dbRepository,
|
||||
dialogRepository,
|
||||
whatsBus,
|
||||
]);
|
||||
});
|
||||
|
||||
describe(`Test de Greeting`, () => {
|
||||
test(`shoud received a object`, async () => {
|
||||
const { recordSave } = (await greeting.firstGreet(
|
||||
"8888888888888888888"
|
||||
)) as any;
|
||||
expect(recordSave).toEqual(true);
|
||||
});
|
||||
|
||||
test(`continue conversation "Quieres helado"`, async () => {
|
||||
const { msgTosend } = await greeting.continueConversation(
|
||||
"888888888888888"
|
||||
);
|
||||
expect(msgTosend.msg).toEqual("Quieres helado");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user