summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseBackupFlags.test.ts
blob: ae260c25a4cc802c7dfa38abfcff0404c69e5ffd (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.ts";

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);
});