mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 13:17:24 +01:00
* fix(content): textual tweaks and updates * fix(link): direct to FAQ instead of wiki * fix(faq): correct Markdown * Show orb of rebirth confirmation modal after use (window refresh) * Set and check rebirth confirmation modal from localstorage Set and check rebirth confirmation modal from localstorage after window reload * Don't show orb of rebirth confirmation modal until page reloads * message effective limit optimization * Keep max limit for web (400 recent messages) * Fix amount of messages initially being shown * PM_PER_PAGE set to 50 * Increases number of messages in inbox test * Increases number of messages for inbox pagination test * Set and check rebirth confirmation modal from localstorage Set and check rebirth confirmation modal from localstorage after window reload * Don't show orb of rebirth confirmation modal until page reloads * message effective limit optimization * Keep max limit for web (400 recent messages) * Add UUID validation for 'before' query parameter * add party message stress test tool in admin panel * lint * add MAX_PM_COUNT of 400, admin tool for stress testing messages * comment * update stress test inbox message tool to use logged in user * comment --------- Co-authored-by: Kalista Payne <kalista@habitica.com>
70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import {
|
|
generateUser,
|
|
} from '../../../../helpers/api-integration/v3';
|
|
|
|
describe('GET /inbox/messages', () => {
|
|
let user;
|
|
let otherUser;
|
|
|
|
beforeEach(async () => {
|
|
[user, otherUser] = await Promise.all([generateUser(), generateUser()]);
|
|
|
|
await otherUser.post('/members/send-private-message', {
|
|
toUserId: user.id,
|
|
message: 'first',
|
|
});
|
|
await user.post('/members/send-private-message', {
|
|
toUserId: otherUser.id,
|
|
message: 'second',
|
|
});
|
|
await otherUser.post('/members/send-private-message', {
|
|
toUserId: user.id,
|
|
message: 'third',
|
|
});
|
|
|
|
// message to yourself
|
|
await user.post('/members/send-private-message', {
|
|
toUserId: user.id,
|
|
message: 'fourth',
|
|
});
|
|
});
|
|
|
|
it('returns the user inbox messages as an array of ordered messages (from most to least recent)', async () => {
|
|
const messages = await user.get('/inbox/messages');
|
|
|
|
expect(messages.length).to.equal(4);
|
|
|
|
// message to yourself
|
|
expect(messages[0].text).to.equal('fourth');
|
|
expect(messages[0].sent).to.equal(false);
|
|
expect(messages[0].uuid).to.equal(user._id);
|
|
|
|
expect(messages[1].text).to.equal('third');
|
|
expect(messages[2].text).to.equal('second');
|
|
expect(messages[3].text).to.equal('first');
|
|
});
|
|
|
|
it('returns four messages when using page-query ', async () => {
|
|
const promises = [];
|
|
|
|
for (let i = 0; i < 50; i += 1) {
|
|
promises.push(user.post('/members/send-private-message', {
|
|
toUserId: user.id,
|
|
message: 'fourth',
|
|
}));
|
|
}
|
|
|
|
await Promise.all(promises);
|
|
|
|
const messages = await user.get('/inbox/messages?page=1');
|
|
|
|
expect(messages.length).to.equal(4);
|
|
});
|
|
|
|
it('returns only the messages of one conversation', async () => {
|
|
const messages = await user.get(`/inbox/messages?conversation=${otherUser.id}`);
|
|
|
|
expect(messages.length).to.equal(3);
|
|
});
|
|
});
|