]> Untitled Git - lemmy.git/blob - api_tests/src/user.spec.ts
Fixing drone tests.
[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   UserView,
12   UserSettingsForm,
13 } from 'lemmy-js-client';
14
15 let auth: string;
16 let apShortname: string;
17
18 function assertUserFederation(
19   userOne: UserView,
20   userTwo: UserView) {
21   expect(userOne.name).toBe(userTwo.name);
22   expect(userOne.preferred_username).toBe(userTwo.preferred_username);
23   expect(userOne.bio).toBe(userTwo.bio);
24   expect(userOne.actor_id).toBe(userTwo.actor_id);
25   expect(userOne.avatar).toBe(userTwo.avatar);
26   expect(userOne.banner).toBe(userTwo.banner);
27   expect(userOne.published).toBe(userTwo.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.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: UserSettingsForm = {
45     show_nsfw: false,
46     theme: "",
47     default_sort_type: 0,
48     default_listing_type: 0,
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 });