mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-05-05 03:28:43 +00:00
5c6258390c
* Adding a way to GetComments for a community given its name only. * Adding getcomments to api docs. * A first pass at locally working isomorphic integration. * Testing out cargo-husky. * Testing a fail hook. * Revert "Testing a fail hook." This reverts commit0941cf1736
. * Moving server to top level, now that UI is gone. * Running cargo fmt using old way. * Adding nginx, fixing up docker-compose files, fixing docs. * Trying to re-add API tests. * Fixing prod dockerfile. * Redoing nightly fmt * Trying to fix private message api test. * Adding CommunityJoin, PostJoin instead of joins from GetComments, etc. - Fixes #1122 * Fixing fmt. * Fixing up docs. * Removing translations. * Adding apps / clients to readme. * Fixing main image. * Using new lemmy-isomorphic-ui with better javascript disabled. * Try to fix image uploads in federation test * Revert "Try to fix image uploads in federation test" This reverts commita2ddf2a90b
. * Fix post url federation * Adding some more tests, some still broken. * Don't need gitattributes anymore. * Update local federation test setup * Fixing tests. * Fixing travis build. * Fixing travis build, again. * Changing lemmy-isomorphic-ui to lemmy-ui * Error in travis build again. Co-authored-by: Felix Ableitner <me@nutomic.com>
82 lines
2.3 KiB
TypeScript
82 lines
2.3 KiB
TypeScript
jest.setTimeout(120000);
|
|
import {
|
|
alpha,
|
|
beta,
|
|
setupLogins,
|
|
followBeta,
|
|
createPrivateMessage,
|
|
updatePrivateMessage,
|
|
listPrivateMessages,
|
|
deletePrivateMessage,
|
|
unfollowRemotes,
|
|
delay,
|
|
} from './shared';
|
|
|
|
let recipient_id: number;
|
|
|
|
beforeAll(async () => {
|
|
await setupLogins();
|
|
let follow = await followBeta(alpha);
|
|
await delay(10000);
|
|
recipient_id = follow.community.creator_id;
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await unfollowRemotes(alpha);
|
|
});
|
|
|
|
test('Create a private message', async () => {
|
|
let pmRes = await createPrivateMessage(alpha, recipient_id);
|
|
expect(pmRes.message.content).toBeDefined();
|
|
expect(pmRes.message.local).toBe(true);
|
|
expect(pmRes.message.creator_local).toBe(true);
|
|
expect(pmRes.message.recipient_local).toBe(false);
|
|
await delay();
|
|
|
|
let betaPms = await listPrivateMessages(beta);
|
|
expect(betaPms.messages[0].content).toBeDefined();
|
|
expect(betaPms.messages[0].local).toBe(false);
|
|
expect(betaPms.messages[0].creator_local).toBe(false);
|
|
expect(betaPms.messages[0].recipient_local).toBe(true);
|
|
});
|
|
|
|
test('Update a private message', async () => {
|
|
let updatedContent = 'A jest test federated private message edited';
|
|
|
|
let pmRes = await createPrivateMessage(alpha, recipient_id);
|
|
let pmUpdated = await updatePrivateMessage(alpha, pmRes.message.id);
|
|
expect(pmUpdated.message.content).toBe(updatedContent);
|
|
await delay();
|
|
|
|
let betaPms = await listPrivateMessages(beta);
|
|
expect(betaPms.messages[0].content).toBe(updatedContent);
|
|
});
|
|
|
|
test('Delete a private message', async () => {
|
|
let pmRes = await createPrivateMessage(alpha, recipient_id);
|
|
await delay();
|
|
let betaPms1 = await listPrivateMessages(beta);
|
|
let deletedPmRes = await deletePrivateMessage(alpha, true, pmRes.message.id);
|
|
expect(deletedPmRes.message.deleted).toBe(true);
|
|
await delay();
|
|
|
|
// The GetPrivateMessages filters out deleted,
|
|
// even though they are in the actual database.
|
|
// no reason to show them
|
|
let betaPms2 = await listPrivateMessages(beta);
|
|
expect(betaPms2.messages.length).toBe(betaPms1.messages.length - 1);
|
|
await delay();
|
|
|
|
// Undelete
|
|
let undeletedPmRes = await deletePrivateMessage(
|
|
alpha,
|
|
false,
|
|
pmRes.message.id
|
|
);
|
|
expect(undeletedPmRes.message.deleted).toBe(false);
|
|
await delay();
|
|
|
|
let betaPms3 = await listPrivateMessages(beta);
|
|
expect(betaPms3.messages.length).toBe(betaPms1.messages.length);
|
|
});
|