]> Untitled Git - lemmy.git/blob - api_tests/src/user.spec.ts
Merge pull request #1535 from LemmyNet/rust_captcha_features
[lemmy.git] / api_tests / src / user.spec.ts
1 jest.setTimeout(120000);
2 import {
3   alpha,
4   beta,
5   registerUser,
6   searchForUser,
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 auth: string;
18 let apShortname: string;
19
20 function assertUserFederation(userOne: PersonViewSafe, userTwo: PersonViewSafe) {
21   expect(userOne.person.name).toBe(userTwo.person.name);
22   expect(userOne.person.preferred_username).toBe(userTwo.person.preferred_username);
23   expect(userOne.person.bio).toBe(userTwo.person.bio);
24   expect(userOne.person.actor_id).toBe(userTwo.person.actor_id);
25   expect(userOne.person.avatar).toBe(userTwo.person.avatar);
26   expect(userOne.person.banner).toBe(userTwo.person.banner);
27   expect(userOne.person.published).toBe(userTwo.person.published);
28 }
29
30 test('Create user', async () => {
31   let userRes = await registerUser(alpha);
32   expect(userRes.jwt).toBeDefined();
33   auth = userRes.jwt;
34
35   let site = await getSite(alpha, auth);
36   expect(site.my_user).toBeDefined();
37   apShortname = `@${site.my_user.person.name}@lemmy-alpha:8541`;
38 });
39
40 test('Set some user settings, check that they are federated', async () => {
41   let avatar = 'https://image.flaticon.com/icons/png/512/35/35896.png';
42   let banner = 'https://image.flaticon.com/icons/png/512/36/35896.png';
43   let bio = 'a changed bio';
44   let form: SaveUserSettings = {
45     show_nsfw: false,
46     theme: '',
47     default_sort_type: Object.keys(SortType).indexOf(SortType.Hot),
48     default_listing_type: Object.keys(ListingType).indexOf(ListingType.All),
49     lang: '',
50     avatar,
51     banner,
52     preferred_username: 'user321',
53     show_avatars: false,
54     send_notifications_to_email: false,
55     bio,
56     auth,
57   };
58   await saveUserSettings(alpha, form);
59
60   let searchAlpha = await searchForUser(alpha, apShortname);
61   let userOnAlpha = searchAlpha.users[0];
62   let searchBeta = await searchForUser(beta, apShortname);
63   let userOnBeta = searchBeta.users[0];
64   assertUserFederation(userOnAlpha, userOnBeta);
65 });