1 jest.setTimeout(120000);
23 } from 'lemmy-js-client';
25 let apShortname: string;
27 function assertUserFederation(userOne: PersonViewSafe, userTwo: PersonViewSafe) {
28 expect(userOne.person.name).toBe(userTwo.person.name);
29 expect(userOne.person.display_name).toBe(userTwo.person.display_name);
30 expect(userOne.person.bio).toBe(userTwo.person.bio);
31 expect(userOne.person.actor_id).toBe(userTwo.person.actor_id);
32 expect(userOne.person.avatar).toBe(userTwo.person.avatar);
33 expect(userOne.person.banner).toBe(userTwo.person.banner);
34 expect(userOne.person.published).toBe(userTwo.person.published);
37 test('Create user', async () => {
38 let userRes = await registerUser(alpha);
39 expect(userRes.jwt).toBeDefined();
40 alpha.auth = userRes.jwt;
42 let site = await getSite(alpha);
43 expect(site.my_user).toBeDefined();
44 apShortname = `@${site.my_user.local_user_view.person.name}@lemmy-alpha:8541`;
47 test('Set some user settings, check that they are federated', async () => {
48 let avatar = 'https://image.flaticon.com/icons/png/512/35/35896.png';
49 let banner = 'https://image.flaticon.com/icons/png/512/36/35896.png';
50 let bio = 'a changed bio';
51 let form: SaveUserSettings = {
54 default_sort_type: Object.keys(SortType).indexOf(SortType.Hot),
55 default_listing_type: Object.keys(ListingType).indexOf(ListingType.All),
59 display_name: 'user321',
61 send_notifications_to_email: false,
65 await saveUserSettings(alpha, form);
67 let alphaPerson = (await resolvePerson(alpha, apShortname)).person;
68 let betaPerson = (await resolvePerson(beta, apShortname)).person;
69 assertUserFederation(alphaPerson, betaPerson);
72 test('Delete user', async () => {
73 let userRes = await registerUser(alpha);
74 expect(userRes.jwt).toBeDefined();
80 // make a local post and comment
81 let alphaCommunity = (await resolveCommunity(user, '!main@lemmy-alpha:8541')).community;
82 let localPost = (await createPost(user, alphaCommunity.community.id)).post_view.post;
83 expect(localPost).toBeDefined();
84 let localComment = (await createComment(user, localPost.id)).comment_view.comment;
85 expect(localComment).toBeDefined();
87 // make a remote post and comment
88 let betaCommunity = (await resolveBetaCommunity(user)).community;
89 let remotePost = (await createPost(user, betaCommunity.community.id)).post_view.post;
90 expect(remotePost).toBeDefined();
91 let remoteComment = (await createComment(user, remotePost.id)).comment_view.comment;
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();