UNPKG

@river-build/sdk

Version:

For more details, visit the following resources:

70 lines 4.13 kB
/** * @group main */ import { isValidStreamId, makeDMStreamId, checkStreamId, makeUniqueChannelStreamId, makeUniqueGDMChannelStreamId, makeUniqueMediaStreamId, makeUserStreamId, userIdFromAddress, addressFromUserId, getUserIdFromStreamId, getUserAddressFromStreamId, } from '../../id'; import { makeRandomUserContext, makeUniqueSpaceStreamId } from '../testUtils'; describe('idTest', () => { test('validStreamId', () => { expect(isValidStreamId('10b6cd7a587ea499f57bfdc820b8c57ef654e38bc4' + '0'.repeat(22))).toBe(true); expect(isValidStreamId('101010101010101010101010101010101010101010' + '0'.repeat(22))).toBe(true); expect(isValidStreamId('a81010101010101010101010101010101010101010')).toBe(true); expect(isValidStreamId('')).toBe(false); expect(isValidStreamId('0')).toBe(false); expect(isValidStreamId('00')).toBe(false); expect(isValidStreamId('101')).toBe(false); expect(isValidStreamId('10AA')).toBe(false); expect(isValidStreamId('10111')).toBe(false); expect(isValidStreamId('10AAbb')).toBe(false); expect(isValidStreamId('1000')).toBe(false); expect(isValidStreamId('10B6cd7a587ea499f57bfdc820b8c57ef654e38bc4572e7843df05321dd74c2f')).toBe(false); expect(isValidStreamId('1110101010101010101010101010101010101010101010101010101010101010')).toBe(false); expect(isValidStreamId('a810101010101010101010101010101010101010')).toBe(false); expect(isValidStreamId('a8101010101010101010101010101010101010101')).toBe(false); expect(isValidStreamId('a8101010101010101010101010101010101010101000')).toBe(false); expect(isValidStreamId('10b6cd7a587ea499f57bfdc820b8c57ef654e38bc4572e7843df05321dd74c2f36')).toBe(false); expect(isValidStreamId('101010101010101010101010101010101010101010101010101010101010101010')).toBe(false); expect(isValidStreamId('0x10aa')).toBe(false); }); test('checkStreamId', () => { expect(() => { checkStreamId(''); }).toThrow('Invalid stream id: '); }); test('makeDMStreamId', () => { const userId1 = '0x376eC15Fa24A76A18EB980629093cFFd559333Bb'; const userId2 = '0x6d58a6597Eb5F849Fb46604a81Ee31654D6a4B44'; const expectedId = '88b6cd7a587ea499f57bfdc820b8c57ef654e38bc4572e7843df05321dd74c2f'; const id = makeDMStreamId(userId1, userId2); expect(id).toBe(expectedId); const caseInsensitiveId = makeDMStreamId(userId1.toLowerCase(), userId2.toLowerCase()); expect(caseInsensitiveId).toBe(expectedId); const reverseOrderId = makeDMStreamId(userId2, userId1); expect(reverseOrderId).toBe(expectedId); }); test('makeUnique', () => { const spaceId = makeUniqueSpaceStreamId(); expect(isValidStreamId(spaceId)).toBe(true); expect(isValidStreamId(makeUniqueChannelStreamId(spaceId))).toBe(true); expect(isValidStreamId(makeUniqueGDMChannelStreamId())).toBe(true); expect(isValidStreamId(makeUniqueMediaStreamId())).toBe(true); }); test('makeUserStreamId', () => { expect(makeUserStreamId('0x376eC15Fa24A76A18EB980629093cFFd559333Bb')).toBe('a8376ec15fa24a76a18eb980629093cffd559333bb' + '0'.repeat(22)); }); test('userIdFromAddress-addressFromUserId', async () => { const usrCtx = await makeRandomUserContext(); const userId = userIdFromAddress(usrCtx.creatorAddress); const address = addressFromUserId(userId); expect(address).toStrictEqual(usrCtx.creatorAddress); }); test('userIdFromUserStreamId', async () => { const usrCtx = await makeRandomUserContext(); const userId = userIdFromAddress(usrCtx.creatorAddress); const userStreamId = makeUserStreamId(userId); const userAddressFromStreamId = getUserAddressFromStreamId(userStreamId); expect(userAddressFromStreamId).toStrictEqual(usrCtx.creatorAddress); const userIdFromStreamId = getUserIdFromStreamId(userStreamId); expect(userIdFromStreamId).toStrictEqual(userId); }); }); //# sourceMappingURL=id.test.js.map