mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 21:27:23 +01:00
allow flagging the post of a deleted user (#7897)
* Allowing the flagging of messages that were written by user accounts that have since been deleted * replacing ternary operator with else if, else paradigm * formatting fixes * fixing message in tests
This commit is contained in:
@@ -30,7 +30,7 @@ describe('POST /chat/:chatId/flag', () => {
|
||||
});
|
||||
|
||||
it('Returns an error when user tries to flag their own message', async () => {
|
||||
let message = await user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
|
||||
let message = await user.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
|
||||
await expect(user.post(`/groups/${group._id}/chat/${message.message.id}/flag`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
@@ -40,8 +40,24 @@ describe('POST /chat/:chatId/flag', () => {
|
||||
});
|
||||
|
||||
it('Flags a chat', async () => {
|
||||
let message = await anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
|
||||
message = message.message;
|
||||
let { message } = await anotherUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
|
||||
|
||||
let flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
|
||||
expect(flagResult.flags[user._id]).to.equal(true);
|
||||
expect(flagResult.flagCount).to.equal(1);
|
||||
|
||||
let groupWithFlags = await admin.get(`/groups/${group._id}`);
|
||||
|
||||
let messageToCheck = find(groupWithFlags.chat, {id: message.id});
|
||||
expect(messageToCheck.flags[user._id]).to.equal(true);
|
||||
});
|
||||
|
||||
it('Flags a chat when the author\'s account was deleted', async () => {
|
||||
let deletedUser = await generateUser();
|
||||
let { message } = await deletedUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
|
||||
await deletedUser.del('/user', {
|
||||
password: 'password',
|
||||
});
|
||||
|
||||
let flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
|
||||
expect(flagResult.flags[user._id]).to.equal(true);
|
||||
@@ -54,8 +70,7 @@ describe('POST /chat/:chatId/flag', () => {
|
||||
});
|
||||
|
||||
it('Flags a chat with a higher flag acount when an admin flags the message', async () => {
|
||||
let message = await user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
|
||||
message = message.message;
|
||||
let { message } = await user.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
|
||||
|
||||
let flagResult = await admin.post(`/groups/${group._id}/chat/${message.id}/flag`);
|
||||
expect(flagResult.flags[admin._id]).to.equal(true);
|
||||
@@ -69,8 +84,7 @@ describe('POST /chat/:chatId/flag', () => {
|
||||
});
|
||||
|
||||
it('Returns an error when user tries to flag a message that is already flagged', async () => {
|
||||
let message = await anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE});
|
||||
message = message.message;
|
||||
let { message } = await anotherUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
|
||||
|
||||
await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user