1 jest.setTimeout(120000);
24 } from 'lemmy-js-client';
26 let apShortname: string;
28 function assertUserFederation(userOne: PersonViewSafe, userTwo: PersonViewSafe) {
29 expect(userOne.person.name).toBe(userTwo.person.name);
30 expect(userOne.person.display_name).toBe(userTwo.person.display_name);
31 expect(userOne.person.bio).toBe(userTwo.person.bio);
32 expect(userOne.person.actor_id).toBe(userTwo.person.actor_id);
33 expect(userOne.person.avatar).toBe(userTwo.person.avatar);
34 expect(userOne.person.banner).toBe(userTwo.person.banner);
35 expect(userOne.person.published).toBe(userTwo.person.published);
38 test('Create user', async () => {
39 let userRes = await registerUser(alpha);
40 expect(userRes.jwt).toBeDefined();
41 alpha.auth = userRes.jwt;
43 let site = await getSite(alpha);
44 expect(site.my_user).toBeDefined();
45 apShortname = `@${site.my_user.local_user_view.person.name}@lemmy-alpha:8541`;
48 test('Set some user settings, check that they are federated', async () => {
49 let avatar = 'https://image.flaticon.com/icons/png/512/35/35896.png';
50 let banner = 'https://image.flaticon.com/icons/png/512/36/35896.png';
51 let bio = 'a changed bio';
52 let form: SaveUserSettings = {
55 default_sort_type: Object.keys(SortType).indexOf(SortType.Hot),
56 default_listing_type: Object.keys(ListingType).indexOf(ListingType.All),
60 display_name: 'user321',
62 send_notifications_to_email: false,
66 await saveUserSettings(alpha, form);
68 let alphaPerson = (await resolvePerson(alpha, apShortname)).person;
69 let betaPerson = (await resolvePerson(beta, apShortname)).person;
70 assertUserFederation(alphaPerson, betaPerson);
73 test('Delete user', async () => {
74 let userRes = await registerUser(alpha);
75 expect(userRes.jwt).toBeDefined();
81 // make a local post and comment
82 let alphaCommunity = (await resolveCommunity(user, '!main@lemmy-alpha:8541')).community;
83 let localPost = (await createPost(user, alphaCommunity.community.id)).post_view.post;
84 expect(localPost).toBeDefined();
85 let localComment = (await createComment(user, localPost.id)).comment_view.comment;
86 expect(localComment).toBeDefined();
88 // make a remote post and comment
89 let betaCommunity = (await resolveBetaCommunity(user)).community;
90 let remotePost = (await createPost(user, betaCommunity.community.id)).post_view.post;
91 expect(remotePost).toBeDefined();
92 let remoteComment = (await createComment(user, remotePost.id)).comment_view.comment;
93 expect(remoteComment).toBeDefined();
95 await deleteUser(user);
97 expect((await resolvePost(alpha, localPost)).post).toBeUndefined();
98 expect((await resolveComment(alpha, localComment)).comment).toBeUndefined();
99 expect((await resolvePost(alpha, remotePost)).post).toBeUndefined();
100 expect((await resolveComment(alpha, remoteComment)).comment).toBeUndefined();