5c6258390c
* Adding a way to GetComments for a community given its name only. * Adding getcomments to api docs. * A first pass at locally working isomorphic integration. * Testing out cargo-husky. * Testing a fail hook. * Revert "Testing a fail hook." This reverts commit0941cf1736
. * Moving server to top level, now that UI is gone. * Running cargo fmt using old way. * Adding nginx, fixing up docker-compose files, fixing docs. * Trying to re-add API tests. * Fixing prod dockerfile. * Redoing nightly fmt * Trying to fix private message api test. * Adding CommunityJoin, PostJoin instead of joins from GetComments, etc. - Fixes #1122 * Fixing fmt. * Fixing up docs. * Removing translations. * Adding apps / clients to readme. * Fixing main image. * Using new lemmy-isomorphic-ui with better javascript disabled. * Try to fix image uploads in federation test * Revert "Try to fix image uploads in federation test" This reverts commita2ddf2a90b
. * Fix post url federation * Adding some more tests, some still broken. * Don't need gitattributes anymore. * Update local federation test setup * Fixing tests. * Fixing travis build. * Fixing travis build, again. * Changing lemmy-isomorphic-ui to lemmy-ui * Error in travis build again. Co-authored-by: Felix Ableitner <me@nutomic.com>
108 lines
3.2 KiB
TypeScript
108 lines
3.2 KiB
TypeScript
jest.setTimeout(120000);
|
|
import {
|
|
alpha,
|
|
beta,
|
|
setupLogins,
|
|
searchForBetaCommunity,
|
|
searchForCommunity,
|
|
createCommunity,
|
|
deleteCommunity,
|
|
removeCommunity,
|
|
delay,
|
|
} from './shared';
|
|
|
|
beforeAll(async () => {
|
|
await setupLogins();
|
|
});
|
|
|
|
test('Create community', async () => {
|
|
let communityRes = await createCommunity(alpha);
|
|
expect(communityRes.community.name).toBeDefined();
|
|
|
|
// A dupe check
|
|
let prevName = communityRes.community.name;
|
|
let communityRes2 = await createCommunity(alpha, prevName);
|
|
expect(communityRes2['error']).toBe('community_already_exists');
|
|
await delay();
|
|
|
|
// Cache the community on beta, make sure it has the other fields
|
|
let searchShort = `!${prevName}@lemmy-alpha:8541`;
|
|
let search = await searchForCommunity(beta, searchShort);
|
|
let communityOnBeta = search.communities[0];
|
|
expect(communityOnBeta.name).toBe(communityRes.community.name);
|
|
expect(communityOnBeta.title).toBe(communityRes.community.title);
|
|
expect(communityOnBeta.description).toBe(communityRes.community.description);
|
|
expect(communityOnBeta.icon).toBe(communityRes.community.icon);
|
|
expect(communityOnBeta.banner).toBe(communityRes.community.banner);
|
|
});
|
|
|
|
test('Delete community', async () => {
|
|
let communityRes = await createCommunity(beta);
|
|
await delay();
|
|
let deleteCommunityRes = await deleteCommunity(
|
|
beta,
|
|
true,
|
|
communityRes.community.id
|
|
);
|
|
expect(deleteCommunityRes.community.deleted).toBe(true);
|
|
await delay();
|
|
|
|
// Make sure it got deleted on A
|
|
let search = await searchForBetaCommunity(alpha);
|
|
let communityA = search.communities[0];
|
|
// TODO this fails currently, because no updates are pushed
|
|
// expect(communityA.deleted).toBe(true);
|
|
|
|
// Undelete
|
|
let undeleteCommunityRes = await deleteCommunity(
|
|
beta,
|
|
false,
|
|
communityRes.community.id
|
|
);
|
|
expect(undeleteCommunityRes.community.deleted).toBe(false);
|
|
await delay();
|
|
|
|
// Make sure it got undeleted on A
|
|
let search2 = await searchForBetaCommunity(alpha);
|
|
let communityA2 = search2.communities[0];
|
|
// TODO this fails currently, because no updates are pushed
|
|
// expect(communityA2.deleted).toBe(false);
|
|
});
|
|
|
|
test('Remove community', async () => {
|
|
let communityRes = await createCommunity(beta);
|
|
await delay();
|
|
let removeCommunityRes = await removeCommunity(
|
|
beta,
|
|
true,
|
|
communityRes.community.id
|
|
);
|
|
expect(removeCommunityRes.community.removed).toBe(true);
|
|
|
|
// Make sure it got removed on A
|
|
let search = await searchForBetaCommunity(alpha);
|
|
let communityA = search.communities[0];
|
|
// TODO this fails currently, because no updates are pushed
|
|
// expect(communityA.removed).toBe(true);
|
|
await delay();
|
|
|
|
// unremove
|
|
let unremoveCommunityRes = await removeCommunity(
|
|
beta,
|
|
false,
|
|
communityRes.community.id
|
|
);
|
|
expect(unremoveCommunityRes.community.removed).toBe(false);
|
|
await delay();
|
|
|
|
// Make sure it got unremoved on A
|
|
let search2 = await searchForBetaCommunity(alpha);
|
|
let communityA2 = search2.communities[0];
|
|
// TODO this fails currently, because no updates are pushed
|
|
// expect(communityA2.removed).toBe(false);
|
|
});
|
|
|
|
test('Search for beta community', async () => {
|
|
let search = await searchForBetaCommunity(alpha);
|
|
expect(search.communities[0].name).toBe('main');
|
|
});
|