]> Untitled Git - lemmy.git/blob - api_tests/src/private_message.spec.ts
Moving settings to Database. (#2492)
[lemmy.git] / api_tests / src / private_message.spec.ts
1 jest.setTimeout(120000);
2 import {
3   alpha,
4   beta,
5   setupLogins,
6   followBeta,
7   createPrivateMessage,
8   editPrivateMessage,
9   listPrivateMessages,
10   deletePrivateMessage,
11   unfollowRemotes,
12 } from "./shared";
13
14 let recipient_id: number;
15
16 beforeAll(async () => {
17   await setupLogins();
18   await followBeta(alpha);
19   recipient_id = 3;
20 });
21
22 afterAll(async () => {
23   await unfollowRemotes(alpha);
24 });
25
26 test("Create a private message", async () => {
27   let pmRes = await createPrivateMessage(alpha, recipient_id);
28   expect(pmRes.private_message_view.private_message.content).toBeDefined();
29   expect(pmRes.private_message_view.private_message.local).toBe(true);
30   expect(pmRes.private_message_view.creator.local).toBe(true);
31   expect(pmRes.private_message_view.recipient.local).toBe(false);
32
33   let betaPms = await listPrivateMessages(beta);
34   expect(betaPms.private_messages[0].private_message.content).toBeDefined();
35   expect(betaPms.private_messages[0].private_message.local).toBe(false);
36   expect(betaPms.private_messages[0].creator.local).toBe(false);
37   expect(betaPms.private_messages[0].recipient.local).toBe(true);
38 });
39
40 test("Update a private message", async () => {
41   let updatedContent = "A jest test federated private message edited";
42
43   let pmRes = await createPrivateMessage(alpha, recipient_id);
44   let pmUpdated = await editPrivateMessage(
45     alpha,
46     pmRes.private_message_view.private_message.id
47   );
48   expect(pmUpdated.private_message_view.private_message.content).toBe(
49     updatedContent
50   );
51
52   let betaPms = await listPrivateMessages(beta);
53   expect(betaPms.private_messages[0].private_message.content).toBe(
54     updatedContent
55   );
56 });
57
58 test("Delete a private message", async () => {
59   let pmRes = await createPrivateMessage(alpha, recipient_id);
60   let betaPms1 = await listPrivateMessages(beta);
61   let deletedPmRes = await deletePrivateMessage(
62     alpha,
63     true,
64     pmRes.private_message_view.private_message.id
65   );
66   expect(deletedPmRes.private_message_view.private_message.deleted).toBe(true);
67   expect(deletedPmRes.private_message_view.private_message.content).toBe("");
68
69   // The GetPrivateMessages filters out deleted,
70   // even though they are in the actual database.
71   // no reason to show them
72   let betaPms2 = await listPrivateMessages(beta);
73   expect(betaPms2.private_messages.length).toBe(
74     betaPms1.private_messages.length - 1
75   );
76
77   // Undelete
78   let undeletedPmRes = await deletePrivateMessage(
79     alpha,
80     false,
81     pmRes.private_message_view.private_message.id
82   );
83   expect(undeletedPmRes.private_message_view.private_message.deleted).toBe(
84     false
85   );
86
87   let betaPms3 = await listPrivateMessages(beta);
88   expect(betaPms3.private_messages.length).toBe(
89     betaPms1.private_messages.length
90   );
91 });