thread tests

This commit is contained in:
grimhilt
2023-04-05 12:33:32 +02:00
parent 9fc31f8686
commit 65631f8e9a
3 changed files with 126 additions and 77 deletions

View File

@@ -36,14 +36,15 @@ export default class saveMessageDatabase {
clear() {
this.rooms = [];
this.messages = [];
this.room_message = [];
this.roomId = 0;
}
_findRoomById(roomId: number): Room {
_findRoomById = (roomId: number): Room => {
return this.rooms.find((room) => room.room_id === roomId);
}
_findUserByMailbox(mailbox: string): UserTest {
_findUserByMailbox = (mailbox: string): UserTest => {
return this.users.find((user) => user.user.mailbox === mailbox);
}
@@ -71,7 +72,7 @@ export default class saveMessageDatabase {
return Promise.resolve();
};
isRoomGroup(roomId: number): Promise<boolean> {
isRoomGroup = (roomId: number): Promise<boolean> => {
return new Promise((resolve, reject) => {
resolve(this.rooms.find((room) => room.room_id == roomId).room_type === RoomType.GROUP);
});
@@ -88,7 +89,7 @@ export default class saveMessageDatabase {
});
};
hasSameMembersAsParent(messageId: number, messageID: string): Promise<boolean> {
hasSameMembersAsParent = (messageId: number, messageID: string): Promise<boolean> => {
const msg1 = this.messages.find((message) => message.attrs.envelope.messageId === messageID );
const msg2 = this.messages.find((message) => message.message_id === messageId );
const members1 = getMembers(msg1.attrs.envelope);
@@ -102,19 +103,26 @@ export default class saveMessageDatabase {
registerThread = async (roomId: number, parentId: number, rootId: number) => {
const room = this._findRoomById(roomId);
room.is_thread = true;
room.parent_id = parentId;
room.room_id = rootId;
room.root_id = rootId;
};
registerMember(roomId: number, memberId: number): Promise<any> {
registerMember = (roomId: number, memberId: number): Promise<any> => {
const room = this._findRoomById(roomId);
room.members.push(this.users.find((user) => user.id === memberId));
if (!room.members) room.members = [];
room.members.push(this.users.find((user) => user.id == memberId));
return Promise.resolve(true);
}
getAllMembers(messageId: number): Promise<any> {
// test_todo
return Promise.resolve(true);
getAllMembers = (messageId: number): Promise<any> => {
const message = this.messages.find((message) => message.message_id === messageId);
let res = "";
getMembers(message.attrs.envelope).forEach((member) => {
res += this.users.find((user) => user.user.mailbox === member.mailbox).id + ",";
});
res = res.substring(0, res.length-1);
return Promise.resolve([{id: res}]);
}
getThreadInfo = (messageID: string): Promise<{ room_id: number; root_id: number }[]> => {
@@ -126,7 +134,7 @@ export default class saveMessageDatabase {
incrementNotSeenRoom = (roomId: number): Promise<void> => {
const room = this._findRoomById(roomId);
room.notSeen++;
if (room) room.notSeen++; // todo
return Promise.resolve();
};