14 let recipient_id: number;
16 beforeAll(async () => {
18 let follow = await followBeta(alpha);
20 recipient_id = follow.community.creator_id;
23 afterAll(async () => {
24 await unfollowRemotes(alpha);
27 test('Create a private message', async () => {
28 let pmRes = await createPrivateMessage(alpha, recipient_id);
29 expect(pmRes.message.content).toBeDefined();
30 expect(pmRes.message.local).toBe(true);
31 expect(pmRes.message.creator_local).toBe(true);
32 expect(pmRes.message.recipient_local).toBe(false);
35 let betaPms = await listPrivateMessages(beta);
36 expect(betaPms.messages[0].content).toBeDefined();
37 expect(betaPms.messages[0].local).toBe(false);
38 expect(betaPms.messages[0].creator_local).toBe(false);
39 expect(betaPms.messages[0].recipient_local).toBe(true);
42 test('Update a private message', async () => {
43 let updatedContent = 'A jest test federated private message edited';
45 let pmRes = await createPrivateMessage(alpha, recipient_id);
46 let pmUpdated = await updatePrivateMessage(alpha, pmRes.message.id);
47 expect(pmUpdated.message.content).toBe(updatedContent);
50 let betaPms = await listPrivateMessages(beta);
51 expect(betaPms.messages[0].content).toBe(updatedContent);
54 test('Delete a private message', async () => {
55 let pmRes = await createPrivateMessage(alpha, recipient_id);
57 let betaPms1 = await listPrivateMessages(beta);
58 let deletedPmRes = await deletePrivateMessage(alpha, true, pmRes.message.id);
59 expect(deletedPmRes.message.deleted).toBe(true);
62 // The GetPrivateMessages filters out deleted,
63 // even though they are in the actual database.
64 // no reason to show them
65 let betaPms2 = await listPrivateMessages(beta);
66 expect(betaPms2.messages.length).toBe(betaPms1.messages.length - 1);
70 let undeletedPmRes = await deletePrivateMessage(
75 expect(undeletedPmRes.message.deleted).toBe(false);
78 let betaPms3 = await listPrivateMessages(beta);
79 expect(betaPms3.messages.length).toBe(betaPms1.messages.length);