Files
SDK-TypeScript/tests/dmService.test.ts
chatenium d7422efcf0
All checks were successful
Setup testing environment and test the code / build (push) Successful in 1m2s
Quick-fix
2026-04-08 16:56:09 +02:00

61 lines
2.2 KiB
TypeScript

import {describe, expect, it} from "vitest";
import {DMService} from '../src/services/dmService.js';
import {ChatService} from '../src/services/chatService.js';
import {DatabaseMock} from '../src/mocks/storage/database.js';
import {faker} from "@faker-js/faker/locale/en";
describe("DmService Integration Testing", () => {
const DM_SERVICE_TESTING_CHAT_ID = "000000000000000000000000"
const DM_SERVICE_TESTING_USER_ID = "000000000000000000000000"
const DM_SERVICE_TESTING_MESSAGE_ID = "111111111111111111111111"
const DM_SERVICE_TESTING_TOKEN = "testingToken"
const service = new DMService(
DM_SERVICE_TESTING_USER_ID,
DM_SERVICE_TESTING_TOKEN,
DM_SERVICE_TESTING_CHAT_ID,
new DatabaseMock(),
() => {}
)
it('should get messages', async () => {
const messages = await service.get()
expect(messages[0].message).toBe("This is a message")
expect(messages[0].isEdited).toBeTruthy()
});
it('should get message position', async () => {
const pos = await service.getMessagePos(DM_SERVICE_TESTING_MESSAGE_ID)
expect(pos).toBe(0)
});
it('should edit message', async () => {
const newMessage = faker.lorem.paragraph()
await service.editMessage(DM_SERVICE_TESTING_MESSAGE_ID, newMessage)
const messages = await service.get()
expect(messages[0].message).toBe(newMessage)
});
it('should send a message', async () => {
const message = faker.lorem.paragraph()
const newMessage = await service.sendMessage(message)
expect(newMessage.message).toBe(message)
});
it('should read messages', async () => {
await service.readMessages()
});
it('should pin and unpin messages', async () => {
let pinnedMessages = await service.getPinnedMessages()
expect(pinnedMessages.length).toBe(0)
await service.pinMessage(DM_SERVICE_TESTING_MESSAGE_ID, "message")
pinnedMessages = await service.getPinnedMessages()
expect(pinnedMessages.length).toBe(1)
await service.unpinMessage(DM_SERVICE_TESTING_MESSAGE_ID)
pinnedMessages = await service.getPinnedMessages()
expect(pinnedMessages.length).toBe(0)
});
})