summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseBackupFlags.test.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2022-05-16 22:52:53 -0700
committerGitHub <noreply@github.com>2022-05-16 22:52:53 -0700
commit39a41ae7e86a4782017c2f489f7c66a9effdcaf3 (patch)
treeccc0cb0708cce781f7d6e189528b37bbd9a1a503 /packages/server/src/helpers/parseBackupFlags.test.ts
parent5c189bca1dc480e919bb82077b51829f29123375 (diff)
parent190a746b89e2cf3238c0070c08f8458e7751c5ea (diff)
Merge pull request #195 from MasterKale/feat/backup-state
feat/backup-state
Diffstat (limited to 'packages/server/src/helpers/parseBackupFlags.test.ts')
-rw-r--r--packages/server/src/helpers/parseBackupFlags.test.ts34
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);
+});