Stage 11: account linking & merge (email + Telegram Login Widget) (#12)
This commit was merged in pull request #12.
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
decodeFriendList,
|
||||
decodeGameList,
|
||||
decodeInvitation,
|
||||
decodeLinkResult,
|
||||
decodeSession,
|
||||
decodeStats,
|
||||
encodeSubmitPlay,
|
||||
@@ -124,6 +125,49 @@ describe('codec', () => {
|
||||
expect(decodeFriendList(b.asUint8Array())).toEqual([{ accountId: 'a-1', displayName: 'Ann' }]);
|
||||
});
|
||||
|
||||
it('decodes a merge_required LinkResult without a session', () => {
|
||||
const b = new Builder(128);
|
||||
const status = b.createString('merge_required');
|
||||
const sid = b.createString('b-1');
|
||||
const sname = b.createString('Ann');
|
||||
fb.LinkResult.startLinkResult(b);
|
||||
fb.LinkResult.addStatus(b, status);
|
||||
fb.LinkResult.addSecondaryUserId(b, sid);
|
||||
fb.LinkResult.addSecondaryDisplayName(b, sname);
|
||||
fb.LinkResult.addSecondaryGames(b, 7);
|
||||
fb.LinkResult.addSecondaryFriends(b, 3);
|
||||
b.finish(fb.LinkResult.endLinkResult(b));
|
||||
expect(decodeLinkResult(b.asUint8Array())).toEqual({
|
||||
status: 'merge_required',
|
||||
secondaryUserId: 'b-1',
|
||||
secondaryDisplayName: 'Ann',
|
||||
secondaryGames: 7,
|
||||
secondaryFriends: 3,
|
||||
session: null,
|
||||
});
|
||||
});
|
||||
|
||||
it('decodes a merged LinkResult carrying a switched session', () => {
|
||||
const b = new Builder(128);
|
||||
const token = b.createString('tok-9');
|
||||
const uid = b.createString('a-1');
|
||||
const dn = b.createString('Kaya');
|
||||
fb.Session.startSession(b);
|
||||
fb.Session.addToken(b, token);
|
||||
fb.Session.addUserId(b, uid);
|
||||
fb.Session.addIsGuest(b, false);
|
||||
fb.Session.addDisplayName(b, dn);
|
||||
const sess = fb.Session.endSession(b);
|
||||
const status = b.createString('merged');
|
||||
fb.LinkResult.startLinkResult(b);
|
||||
fb.LinkResult.addStatus(b, status);
|
||||
fb.LinkResult.addSession(b, sess);
|
||||
b.finish(fb.LinkResult.endLinkResult(b));
|
||||
const r = decodeLinkResult(b.asUint8Array());
|
||||
expect(r.status).toBe('merged');
|
||||
expect(r.session).toEqual({ token: 'tok-9', userId: 'a-1', isGuest: false, displayName: 'Kaya' });
|
||||
});
|
||||
|
||||
it('decodes an Invitation with inviter and invitees', () => {
|
||||
const b = new Builder(256);
|
||||
const iid = b.createString('u-1');
|
||||
|
||||
Reference in New Issue
Block a user