mirror of
https://github.com/bitwarden/browser
synced 2024-12-19 12:54:48 +01:00
0e78910582
* Rename all importer related files Renamed all files based on our naming convention which we decided on with https://github.com/bitwarden/adr/blob/master/decisions/0012-angular-filename-convention.md * Removed entries from whitelist-capital-letters.txt * Rename missing safeInCloud test data * Fix broken import * Renamed folders (removed capital letters) * Fix filename of BitwardenCsvImporter * Fix imports of onepassword mac/win importer tests * Remove already renamed folders from whitelist * Rename dashlaneImporters to dashlane Rename the folder Fix all the imports Remove dashlaneImporters from white-list * Rename keeperImporters to keeper Rename the folder Fix all the imports Remove keeperImporters from white-list * Rename onepasswordImporters to onepassword Rename the folder Fix all the imports Remove onepasswordImporters from white-list * Rename safeinCloud test data folder * Fix onepassword importer type imports
75 lines
2.3 KiB
TypeScript
75 lines
2.3 KiB
TypeScript
import { CipherType } from "@bitwarden/common/enums/cipherType";
|
|
import { OnePasswordMacCsvImporter as Importer } from "@bitwarden/common/importers/onepassword/onepassword-mac-csv-importer";
|
|
import { CipherView } from "@bitwarden/common/models/view/cipher.view";
|
|
|
|
import { data as creditCardData } from "./test-data/onepassword-csv/credit-card.mac.csv";
|
|
import { data as identityData } from "./test-data/onepassword-csv/identity.mac.csv";
|
|
import { data as multiTypeData } from "./test-data/onepassword-csv/multiple-items.mac.csv";
|
|
|
|
function expectIdentity(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
|
|
expect(cipher.identity).toEqual(
|
|
expect.objectContaining({
|
|
firstName: "first name",
|
|
middleName: "mi",
|
|
lastName: "last name",
|
|
username: "userNam3",
|
|
company: "bitwarden",
|
|
phone: "8005555555",
|
|
email: "email@bitwarden.com",
|
|
})
|
|
);
|
|
|
|
expect(cipher.notes).toContain("address\ncity state zip\nUnited States");
|
|
}
|
|
|
|
function expectCreditCard(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Card);
|
|
|
|
expect(cipher.card).toEqual(
|
|
expect.objectContaining({
|
|
number: "4111111111111111",
|
|
code: "111",
|
|
cardholderName: "test",
|
|
expMonth: "1",
|
|
expYear: "2030",
|
|
})
|
|
);
|
|
}
|
|
|
|
describe("1Password mac CSV Importer", () => {
|
|
it("should parse identity records", async () => {
|
|
const importer = new Importer();
|
|
const result = await importer.parse(identityData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
expect(result.ciphers.length).toBe(1);
|
|
const cipher = result.ciphers[0];
|
|
expectIdentity(cipher);
|
|
});
|
|
|
|
it("should parse credit card records", async () => {
|
|
const importer = new Importer();
|
|
const result = await importer.parse(creditCardData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
expect(result.ciphers.length).toBe(1);
|
|
const cipher = result.ciphers[0];
|
|
expectCreditCard(cipher);
|
|
});
|
|
|
|
it("should parse csv's with multiple record type", async () => {
|
|
const importer = new Importer();
|
|
const result = await importer.parse(multiTypeData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
expect(result.ciphers.length).toBe(4);
|
|
expectIdentity(result.ciphers[1]);
|
|
expectCreditCard(result.ciphers[2]);
|
|
});
|
|
});
|