summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseBackupFlags.test.ts
blob: 14cab551d24d0b92c612c11ea8d07fca39d506f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
});