summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseBackupFlags.test.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2022-04-13 09:15:22 -0700
committerMatthew Miller <matthew@millerti.me>2022-05-15 21:49:33 -0700
commite0309e69658a364d966354eccf006977129745ac (patch)
tree5c4d2ffb8a247fb61547bb601dd0d44989c3839e /packages/server/src/helpers/parseBackupFlags.test.ts
parent13e77c2f22747b96dafef86e50c43d818fe624bb (diff)
Add tests for parseBackupFlags
Diffstat (limited to 'packages/server/src/helpers/parseBackupFlags.test.ts')
-rw-r--r--packages/server/src/helpers/parseBackupFlags.test.ts33
1 files changed, 33 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..12eb090
--- /dev/null
+++ b/packages/server/src/helpers/parseBackupFlags.test.ts
@@ -0,0 +1,33 @@
+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) {
+ 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);
+});