diff options
Diffstat (limited to 'packages/server/src/helpers/parseBackupFlags.test.ts')
-rw-r--r-- | packages/server/src/helpers/parseBackupFlags.test.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/server/src/helpers/parseBackupFlags.test.ts b/packages/server/src/helpers/parseBackupFlags.test.ts new file mode 100644 index 0000000..3133137 --- /dev/null +++ b/packages/server/src/helpers/parseBackupFlags.test.ts @@ -0,0 +1,34 @@ +import { parseBackupFlags } from './parseBackupFlags'; + +test('should return single-device cred, not backed up', () => { + const parsed = parseBackupFlags({ be: false, bs: false }); + + expect(parsed.credentialDeviceType).toEqual('singleDevice'); + expect(parsed.credentialBackedUp).toEqual(false); +}); + +test('should throw on single-device cred, backed up', () => { + expect.assertions(2); + + try { + parseBackupFlags({ be: false, bs: true }); + } catch (err) { + const _err: Error = err as Error; + expect(_err.message).toContain('impossible'); + expect(_err.name).toEqual('InvalidBackupFlags') + } +}); + +test('should return multi-device cred, not backed up', () => { + const parsed = parseBackupFlags({ be: true, bs: false }); + + expect(parsed.credentialDeviceType).toEqual('multiDevice'); + expect(parsed.credentialBackedUp).toEqual(false); +}); + +test('should return multi-device cred, backed up', () => { + const parsed = parseBackupFlags({ be: true, bs: true }); + + expect(parsed.credentialDeviceType).toEqual('multiDevice'); + expect(parsed.credentialBackedUp).toEqual(true); +}); |