@river-build/sdk
Version:
For more details, visit the following resources:
48 lines • 2.26 kB
JavaScript
/**
* @group with-entitlements
*/
import { convertRuleDataV1ToV2, encodeRuleDataV2 } from '@river-build/web3';
import { setupWalletsAndContexts, everyoneMembershipStruct } from '../testUtils';
describe('Legacy Space Detection', () => {
test('Detect Legacy Space', async () => {
const { alice, aliceSpaceDapp, aliceProvider } = await setupWalletsAndContexts();
const membership = await everyoneMembershipStruct(aliceSpaceDapp, alice);
const transaction = await aliceSpaceDapp.createLegacySpace({
spaceName: 'legacy town',
channelName: 'general',
uri: 'https://legacy.town',
membership,
}, aliceProvider.wallet);
const receipt = await transaction.wait();
expect(receipt.status).toEqual(1);
const spaceAddress = aliceSpaceDapp.getSpaceAddress(receipt, aliceProvider.wallet.address);
expect(spaceAddress).toBeDefined();
await expect(aliceSpaceDapp.isLegacySpace(spaceAddress)).resolves.toBeTruthy();
});
test('Detect V2 space', async () => {
const { alice, aliceSpaceDapp, aliceProvider } = await setupWalletsAndContexts();
const legacyMembership = await everyoneMembershipStruct(aliceSpaceDapp, alice);
const membership = {
settings: legacyMembership.settings,
permissions: legacyMembership.permissions,
requirements: {
everyone: true,
syncEntitlements: false,
users: [],
ruleData: encodeRuleDataV2(convertRuleDataV1ToV2(legacyMembership.requirements.ruleData)),
},
};
const transaction = await aliceSpaceDapp.createSpace({
spaceName: 'legacy town',
channelName: 'general',
uri: 'https://legacy.town',
membership,
}, aliceProvider.wallet);
const receipt = await transaction.wait();
expect(receipt.status).toEqual(1);
const spaceAddress = aliceSpaceDapp.getSpaceAddress(receipt, aliceProvider.wallet.address);
expect(spaceAddress).toBeDefined();
await expect(aliceSpaceDapp.isLegacySpace(spaceAddress)).resolves.toBeFalsy();
});
});
//# sourceMappingURL=legacySpace.test.js.map