49 lines
1.9 KiB
TypeScript
49 lines
1.9 KiB
TypeScript
process.env.NODE_ENV = "test";
|
|
import { jest, describe, it, expect } from "@jest/globals";
|
|
import { execQueryAsync, execQuery } from "../../db/db";
|
|
import { createRoom, registerMessageInRoom } from "../../db/message/saveMessage-db";
|
|
import { registerFlag, registerMessage } from "../../db/message/storeMessage-db";
|
|
import { getFlagId } from "../../db/utils/mail";
|
|
import { RoomType } from "../../mails/message/saveMessage";
|
|
|
|
|
|
beforeAll(async () => {
|
|
console.log(await execQueryAsync(`SHOW TABLES`, []));
|
|
// mocked(incrementNotSeenRoom).mockImplementation(db.incrementNotSeenRoom);
|
|
});
|
|
|
|
beforeEach(async () => {
|
|
const query = "SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = 'mail_test'";
|
|
execQueryAsync(query, []).then((results) => {
|
|
execQuery("SET FOREIGN_KEY_CHECKS=0", []);
|
|
results.map((table) => {
|
|
execQuery("DELETE FROM " + table.table_name, []);
|
|
// execQuery("DROP TABLE " + table.table_name);
|
|
});
|
|
});
|
|
});
|
|
|
|
const insertMessageWithFlag = async (flags: string[]): Promise<number> => {
|
|
const messageId = await registerMessage("", 0, "");
|
|
flags.forEach(async (flag) => {
|
|
const flagId = await getFlagId(flag);
|
|
await registerFlag(messageId, flagId);
|
|
});
|
|
return messageId;
|
|
}
|
|
|
|
describe("api-db", () => {
|
|
it.only("should count the number of unseen message in a room", async () => {
|
|
const msgIdSeen = await insertMessageWithFlag(["\\\\Seen"]);
|
|
const msgIdNotSeen = await insertMessageWithFlag([]);
|
|
const msgIdNotSeen2 = await insertMessageWithFlag([]);
|
|
const roomId = await createRoom("roomName", 0, msgIdSeen, RoomType.ROOM);
|
|
await registerMessageInRoom(msgIdSeen, roomId, "");
|
|
await registerMessageInRoom(msgIdNotSeen, roomId, "");
|
|
await registerMessageInRoom(msgIdNotSeen2, roomId, "");
|
|
|
|
const res =
|
|
expect()
|
|
})
|
|
});
|