1 jest.setTimeout(120000);
2 import { PersonViewSafe } from "lemmy-js-client";
18 saveUserSettingsFederated,
22 beforeAll(async () => {
26 let apShortname: string;
28 function assertUserFederation(
29 userOne?: PersonViewSafe,
30 userTwo?: PersonViewSafe
32 expect(userOne?.person.name).toBe(userTwo?.person.name);
33 expect(userOne?.person.display_name).toBe(userTwo?.person.display_name);
34 expect(userOne?.person.bio).toBe(userTwo?.person.bio);
35 expect(userOne?.person.actor_id).toBe(userTwo?.person.actor_id);
36 expect(userOne?.person.avatar).toBe(userTwo?.person.avatar);
37 expect(userOne?.person.banner).toBe(userTwo?.person.banner);
38 expect(userOne?.person.published).toBe(userTwo?.person.published);
41 test("Create user", async () => {
42 let userRes = await registerUser(alpha);
43 expect(userRes.jwt).toBeDefined();
44 alpha.auth = userRes.jwt ?? "";
46 let site = await getSite(alpha);
47 expect(site.my_user).toBeDefined();
49 throw "Missing site user";
51 apShortname = `@${site.my_user.local_user_view.person.name}@lemmy-alpha:8541`;
54 test("Set some user settings, check that they are federated", async () => {
55 await saveUserSettingsFederated(alpha);
56 let alphaPerson = (await resolvePerson(alpha, apShortname)).person;
57 let betaPerson = (await resolvePerson(beta, apShortname)).person;
58 assertUserFederation(alphaPerson, betaPerson);
61 test("Delete user", async () => {
62 let userRes = await registerUser(alpha);
63 expect(userRes.jwt).toBeDefined();
66 auth: userRes.jwt ?? "",
69 // make a local post and comment
70 let alphaCommunity = (await resolveCommunity(user, "!main@lemmy-alpha:8541"))
72 if (!alphaCommunity) {
73 throw "Missing alpha community";
75 let localPost = (await createPost(user, alphaCommunity.community.id))
77 expect(localPost).toBeDefined();
78 let localComment = (await createComment(user, localPost.id)).comment_view
80 expect(localComment).toBeDefined();
82 // make a remote post and comment
83 let betaCommunity = (await resolveBetaCommunity(user)).community;
85 throw "Missing beta community";
87 let remotePost = (await createPost(user, betaCommunity.community.id))
89 expect(remotePost).toBeDefined();
90 let remoteComment = (await createComment(user, remotePost.id)).comment_view
92 expect(remoteComment).toBeDefined();
94 await deleteUser(user);
96 expect((await resolvePost(alpha, localPost)).post).toBeUndefined();
97 expect((await resolveComment(alpha, localComment)).comment).toBeUndefined();
98 expect((await resolvePost(alpha, remotePost)).post).toBeUndefined();
99 expect((await resolveComment(alpha, remoteComment)).comment).toBeUndefined();