]> Untitled Git - lemmy.git/blob - api_tests/src/user.spec.ts
Fixing ResolveObject API and unit tests (#1713)
[lemmy.git] / api_tests / src / user.spec.ts
1 jest.setTimeout(120000);
2 import {
3   alpha,
4   beta,
5   registerUser,
6   resolvePerson,
7   saveUserSettings,
8   getSite,
9 } from './shared';
10 import {
11   PersonViewSafe,
12   SaveUserSettings,
13   SortType,
14   ListingType,
15 } from 'lemmy-js-client';
16
17 let apShortname: string;
18
19 function assertUserFederation(userOne: PersonViewSafe, userTwo: PersonViewSafe) {
20   expect(userOne.person.name).toBe(userTwo.person.name);
21   expect(userOne.person.display_name).toBe(userTwo.person.display_name);
22   expect(userOne.person.bio).toBe(userTwo.person.bio);
23   expect(userOne.person.actor_id).toBe(userTwo.person.actor_id);
24   expect(userOne.person.avatar).toBe(userTwo.person.avatar);
25   expect(userOne.person.banner).toBe(userTwo.person.banner);
26   expect(userOne.person.published).toBe(userTwo.person.published);
27 }
28
29 test('Create user', async () => {
30   let userRes = await registerUser(alpha);
31   expect(userRes.jwt).toBeDefined();
32   alpha.auth = userRes.jwt;
33   
34   let site = await getSite(alpha);
35   expect(site.my_user).toBeDefined();
36   apShortname = `@${site.my_user.local_user_view.person.name}@lemmy-alpha:8541`;
37 });
38
39 test('Set some user settings, check that they are federated', async () => {
40   let avatar = 'https://image.flaticon.com/icons/png/512/35/35896.png';
41   let banner = 'https://image.flaticon.com/icons/png/512/36/35896.png';
42   let bio = 'a changed bio';
43   let form: SaveUserSettings = {
44     show_nsfw: false,
45     theme: '',
46     default_sort_type: Object.keys(SortType).indexOf(SortType.Hot),
47     default_listing_type: Object.keys(ListingType).indexOf(ListingType.All),
48     lang: '',
49     avatar,
50     banner,
51     display_name: 'user321',
52     show_avatars: false,
53     send_notifications_to_email: false,
54     bio,
55     auth: alpha.auth,
56   };
57   await saveUserSettings(alpha, form);
58
59   let alphaPerson = (await resolvePerson(alpha, apShortname)).person;
60   let betaPerson = (await resolvePerson(beta, apShortname)).person;
61   assertUserFederation(alphaPerson, betaPerson);
62 });