test unseen behavior

This commit is contained in:
grimhilt
2023-04-05 14:21:46 +02:00
parent 65631f8e9a
commit 86f321c0a1
5 changed files with 159 additions and 72 deletions

View File

@@ -21,8 +21,8 @@ interface Room {
export default class saveMessageDatabase {
rooms: Room[];
roomId: number;
messages: {attrs: AttrsWithEnvelope, message_id: number}[];
room_message: {room_id: number, message_id: number}[];
messages: { attrs: AttrsWithEnvelope; message_id: number }[];
room_message: { room_id: number; message_id: number }[];
users: UserTest[];
constructor(_users) {
@@ -42,11 +42,11 @@ export default class saveMessageDatabase {
_findRoomById = (roomId: number): Room => {
return this.rooms.find((room) => room.room_id === roomId);
}
};
_findUserByMailbox = (mailbox: string): UserTest => {
return this.users.find((user) => user.user.mailbox === mailbox);
}
};
createRoom = (
roomName: string | null | undefined,
@@ -72,11 +72,11 @@ export default class saveMessageDatabase {
return Promise.resolve();
};
isRoomGroup = (roomId: number): Promise<boolean> => {
getRoomType = (roomId: number): Promise<{ room_type: number }[]> => {
return new Promise((resolve, reject) => {
resolve(this.rooms.find((room) => room.room_id == roomId).room_type === RoomType.GROUP);
resolve([{ room_type: this.rooms.find((room) => room.room_id == roomId).room_type }]);
});
}
};
findRoomsFromMessage = (messageID: string): Promise<{ room_id: number }[]> => {
return new Promise((resolve, reject) => {
@@ -90,8 +90,8 @@ export default class saveMessageDatabase {
};
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 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);
const members2 = getMembers(msg2.attrs.envelope);
let ids1 = [];
@@ -99,7 +99,7 @@ export default class saveMessageDatabase {
members1.forEach((member) => ids1.push(this._findUserByMailbox(member.mailbox).id));
members2.forEach((member) => ids2.push(this._findUserByMailbox(member.mailbox).id));
return Promise.resolve(hasSameElements(ids1, ids2));
}
};
registerThread = async (roomId: number, parentId: number, rootId: number) => {
const room = this._findRoomById(roomId);
@@ -113,7 +113,7 @@ export default class saveMessageDatabase {
if (!room.members) room.members = [];
room.members.push(this.users.find((user) => user.id == memberId));
return Promise.resolve(true);
}
};
getAllMembers = (messageId: number): Promise<any> => {
const message = this.messages.find((message) => message.message_id === messageId);
@@ -121,15 +121,18 @@ export default class saveMessageDatabase {
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}]);
}
res = res.substring(0, res.length - 1);
return Promise.resolve([{ id: res }]);
};
getThreadInfo = (messageID: string): Promise<{ room_id: number; root_id: number }[]> => {
return new Promise((resolve, reject) => {
const room = this.rooms.find((room) => room.message_id.toString() === messageID);
resolve([{ room_id: room.room_id, root_id: room.root_id }]);
});
const room = this.rooms.find((room) => room.message_id.toString() === messageID);
return Promise.resolve([{ room_id: room.room_id, root_id: room.root_id }]);
};
getThreadInfoOnId = (threadId: number): Promise<{ room_id: number; root_id: number }[]> => {
const room = this._findRoomById(threadId);
return Promise.resolve([{ room_id: room.root_id, root_id: room.root_id }]);
};
incrementNotSeenRoom = (roomId: number): Promise<void> => {

View File

@@ -70,6 +70,6 @@ function randomString(length: number): string {
return result;
}
function randomInt(length: number): number {
export function randomInt(length: number): number {
return parseInt((Math.random() * Math.pow(10, length)).toFixed());
}