mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-05-10 22:12:38 +00:00
375d9a2a3c
* persistent activity queue * fixes * fixes * make federation workers function callable from outside * log federation instances * dead instance detection not needed here * taplo fmt * split federate bin/lib * minor fix * better logging * log * create struct to hold cancellable task for readability * use boxfuture for readability * reset submodule * fix * fix lint * swap * remove json column, use separate array columns instead * some review comments * make worker a struct for readability * minor readability * add local filter to community follower view * remove separate lemmy_federate entry point * fix remaining duration * address review comments mostly * fix lint * upgrade actitypub-fed to simpler interface * fix sql format * increase delays a bit * fixes after merge * remove selectable * fix instance selectable * add comment * start federation based on latest id at the time * rename federate process args * dead instances in one query * filter follow+report activities by local * remove synchronous federation remove activity sender queue * lint * fix federation tests by waiting for results to change * fix fed test * fix comment report * wait some more * Apply suggestions from code review Co-authored-by: SorteKanin <sortekanin@gmail.com> * fix most remaining tests * wait until private messages * fix community tests * fix community tests * move arg parse * use instance_id instead of domain in federation_queue_state table --------- Co-authored-by: Dessalines <dessalines@users.noreply.github.com> Co-authored-by: SorteKanin <sortekanin@gmail.com>
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
jest.setTimeout(120000);
|
|
|
|
import {
|
|
alpha,
|
|
setupLogins,
|
|
resolveBetaCommunity,
|
|
followCommunity,
|
|
unfollowRemotes,
|
|
getSite,
|
|
waitUntil,
|
|
} from "./shared";
|
|
|
|
beforeAll(async () => {
|
|
await setupLogins();
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await unfollowRemotes(alpha);
|
|
});
|
|
|
|
test("Follow federated community", async () => {
|
|
let betaCommunity = (await resolveBetaCommunity(alpha)).community;
|
|
if (!betaCommunity) {
|
|
throw "Missing beta community";
|
|
}
|
|
await followCommunity(alpha, true, betaCommunity.community.id);
|
|
betaCommunity = (
|
|
await waitUntil(
|
|
() => resolveBetaCommunity(alpha),
|
|
c => c.community?.subscribed === "Subscribed",
|
|
)
|
|
).community;
|
|
|
|
// Make sure the follow response went through
|
|
expect(betaCommunity?.community.local).toBe(false);
|
|
expect(betaCommunity?.community.name).toBe("main");
|
|
expect(betaCommunity?.subscribed).toBe("Subscribed");
|
|
|
|
// Check it from local
|
|
let site = await getSite(alpha);
|
|
let remoteCommunityId = site.my_user?.follows.find(
|
|
c => c.community.local == false,
|
|
)?.community.id;
|
|
expect(remoteCommunityId).toBeDefined();
|
|
expect(site.my_user?.follows.length).toBe(2);
|
|
|
|
if (!remoteCommunityId) {
|
|
throw "Missing remote community id";
|
|
}
|
|
|
|
// Test an unfollow
|
|
let unfollow = await followCommunity(alpha, false, remoteCommunityId);
|
|
expect(unfollow.community_view.subscribed).toBe("NotSubscribed");
|
|
|
|
// Make sure you are unsubbed locally
|
|
let siteUnfollowCheck = await getSite(alpha);
|
|
expect(siteUnfollowCheck.my_user?.follows.length).toBe(1);
|
|
});
|