import { PasskyJsonImporter } from "../src/importers"; import { testData as EncryptedData } from "./test-data/passky-json/passky-encrypted.json"; import { testData as UnencryptedData } from "./test-data/passky-json/passky-unencrypted.json"; describe("Passky Json Importer", () => { let importer: PasskyJsonImporter; beforeEach(() => { importer = new PasskyJsonImporter(); }); it("should not import encrypted backups", async () => { const testDataJson = JSON.stringify(EncryptedData); const result = await importer.parse(testDataJson); expect(result != null).toBe(true); expect(result.success).toBe(false); expect(result.errorMessage).toBe("Unable to import an encrypted passky backup."); }); it("should parse login data", async () => { const testDataJson = JSON.stringify(UnencryptedData); const result = await importer.parse(testDataJson); expect(result != null).toBe(true); const cipher = result.ciphers.shift(); expect(cipher.name).toEqual("https://bitwarden.com/"); expect(cipher.login.username).toEqual("testUser"); expect(cipher.login.password).toEqual("testPassword"); expect(cipher.login.uris.length).toEqual(1); const uriView = cipher.login.uris.shift(); expect(uriView.uri).toEqual("https://bitwarden.com/"); expect(cipher.notes).toEqual("my notes"); }); });