]> Untitled Git - lemmy.git/blobdiff - api_tests/src/follow.spec.ts
Only allow authenticated users to fetch remote objects (#2493)
[lemmy.git] / api_tests / src / follow.spec.ts
index e238dc636e46fe82a8c62d4f6d29a5721982b1a3..54fc16669d2e66572db31de619220ecde02422bb 100644 (file)
@@ -1,11 +1,12 @@
 jest.setTimeout(120000);
+import {SubscribedType} from 'lemmy-js-client';
 import {
   alpha,
   setupLogins,
-  searchForBetaCommunity,
+  resolveBetaCommunity,
   followCommunity,
-  checkFollowedCommunities,
   unfollowRemotes,
+  getSite,
   delay,
 } from './shared';
 
@@ -18,27 +19,31 @@ afterAll(async () => {
 });
 
 test('Follow federated community', async () => {
-  let search = await searchForBetaCommunity(alpha); // TODO sometimes this is returning null?
-  let follow = await followCommunity(alpha, true, search.communities[0].id);
+  let betaCommunity = (await resolveBetaCommunity(alpha)).community.unwrap();
+  let follow = await followCommunity(
+    alpha,
+    true,
+    betaCommunity.community.id
+  );
 
   // Make sure the follow response went through
-  expect(follow.community.local).toBe(false);
-  expect(follow.community.name).toBe('main');
-  await delay();
+  expect(follow.community_view.community.local).toBe(false);
+  expect(follow.community_view.community.name).toBe('main');
+  expect(follow.community_view.subscribed).toBe(SubscribedType.Subscribed);
 
   // Check it from local
-  let followCheck = await checkFollowedCommunities(alpha);
-  let remoteCommunityId = followCheck.communities.filter(
-    c => c.community_local == false
-  )[0].community_id;
+  let site = await getSite(alpha);
+  let remoteCommunityId = site.my_user.unwrap().follows.find(
+    c => c.community.local == false
+  ).community.id;
   expect(remoteCommunityId).toBeDefined();
+  expect(site.my_user.unwrap().follows.length).toBe(2);
 
   // Test an unfollow
   let unfollow = await followCommunity(alpha, false, remoteCommunityId);
-  expect(unfollow.community.local).toBe(false);
-  await delay();
+  expect(unfollow.community_view.subscribed).toBe(SubscribedType.NotSubscribed);
 
   // Make sure you are unsubbed locally
-  let unfollowCheck = await checkFollowedCommunities(alpha);
-  expect(unfollowCheck.communities.length).toBeGreaterThanOrEqual(1);
+  let siteUnfollowCheck = await getSite(alpha);
+  expect(siteUnfollowCheck.my_user.unwrap().follows.length).toBe(1);
 });