mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-02 13:23:29 +01:00
a4fba0e1c5
* Switch to jest * Fix jslib-angular package name * Make angular test project * Split up tests by jslib project * Remove obsolete node test script * Use legacy deps with jest-preset-angular * Move web tests to common * Remove build from pipeline This was only being used because we were not using ts runners. We are now, so build is unnecessary
634 lines
22 KiB
TypeScript
634 lines
22 KiB
TypeScript
import { CipherType } from "jslib-common/enums/cipherType";
|
|
import { MykiCsvImporter as Importer } from "jslib-common/importers/mykiCsvImporter";
|
|
import { CipherView } from "jslib-common/models/view/cipherView";
|
|
|
|
import { userAccountData } from "./testData/mykiCsv/UserAccount.csv";
|
|
import { userCreditCardData } from "./testData/mykiCsv/UserCreditCard.csv";
|
|
import { userIdCardData } from "./testData/mykiCsv/UserIdCard.csv";
|
|
import { userIdentityData } from "./testData/mykiCsv/UserIdentity.csv";
|
|
import { userNoteData } from "./testData/mykiCsv/UserNote.csv";
|
|
import { userTwoFaData } from "./testData/mykiCsv/UserTwofa.csv";
|
|
|
|
function expectDriversLicense(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Joe User's nickname");
|
|
expect(cipher.notes).toBe("Additional information");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("123456");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Driver's License");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("02/02/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("02/02/2024");
|
|
}
|
|
|
|
function expectPassport(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Passport ID card");
|
|
expect(cipher.notes).toBe("Additional information field");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.passportNumber).toBe("1234567");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Passport");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectSocialSecurity(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Social Security ID card");
|
|
expect(cipher.notes).toBe("Additional information field text");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.ssn).toBe("123455678");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Social Security");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectIdCard(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("ID card type ID card");
|
|
expect(cipher.notes).toBe("Additional Information field text");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("1234566");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("ID Card");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectTaxNumber(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Tax number ID card");
|
|
expect(cipher.notes).toBe("Additinoal information text field");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("12345678");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Tax Number");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectBankAccount(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Bank account ID card");
|
|
expect(cipher.notes).toBe("Additional text information here");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("12344556677");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Bank Account");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectInsuranceCard(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Insurance card ID card");
|
|
expect(cipher.notes).toBe("Additional information text goes here");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("123456677");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Insurance Card");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2022");
|
|
}
|
|
|
|
function expectHealthCard(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Health card Id card");
|
|
expect(cipher.notes).toBe("More info");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("1234670");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Health Card");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectMembershipCard(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Membership ID card");
|
|
expect(cipher.notes).toBe("Add'l info");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("12345709");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Membership");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectDatabase(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Database ID card");
|
|
expect(cipher.notes).toBe("Addin't info");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("12345089u");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Database");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectOutdoorLicense(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Outdoor license ID card");
|
|
expect(cipher.notes).toBe("Additional info");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("123890090");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Outdoor License");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectRewardProgram(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Reward program Id card");
|
|
expect(cipher.notes).toBe("1234890");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("12345890b");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Reward Program");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectSoftwareLicense(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Software license ID card");
|
|
expect(cipher.notes).toBe(
|
|
"It seems like the fields don't change, which makes it pretty useless that they have so many ID card types."
|
|
);
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("1234567c");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Software License");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
function expectTourVisa(cipher: CipherView) {
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Tour visa ID card");
|
|
expect(cipher.notes).toBe("Additional Informaion text");
|
|
|
|
expect(cipher.identity.fullName).toBe("Joe M User");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.licenseNumber).toBe("123456lkhj");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(5);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toEqual("tags");
|
|
expect(cipher.fields[1].value).toEqual("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("idType");
|
|
expect(cipher.fields[2].value).toEqual("Tour Visa");
|
|
|
|
expect(cipher.fields[3].name).toEqual("idIssuanceDate");
|
|
expect(cipher.fields[3].value).toEqual("03/07/2022");
|
|
|
|
expect(cipher.fields[4].name).toEqual("idExpirationDate");
|
|
expect(cipher.fields[4].value).toEqual("03/07/2028");
|
|
}
|
|
|
|
describe("Myki CSV Importer", () => {
|
|
let importer: Importer;
|
|
beforeEach(() => {
|
|
importer = new Importer();
|
|
});
|
|
|
|
it("should parse userAccount records", async () => {
|
|
const result = await importer.parse(userAccountData);
|
|
expect(result != null).toBe(true);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
|
|
expect(cipher.name).toEqual("PasswordNickname");
|
|
expect(cipher.login.username).toEqual("user.name@email.com");
|
|
expect(cipher.login.password).toEqual("abc123");
|
|
expect(cipher.login.totp).toEqual("someTOTPSeed");
|
|
expect(cipher.login.uris.length).toEqual(1);
|
|
const uriView = cipher.login.uris.shift();
|
|
expect(uriView.uri).toEqual("http://www.google.com");
|
|
expect(cipher.notes).toEqual("This is the additional information text.");
|
|
|
|
expect(cipher.fields.length).toBe(2);
|
|
|
|
expect(cipher.fields[0].name).toBe("status");
|
|
expect(cipher.fields[0].value).toBe("active");
|
|
|
|
expect(cipher.fields[1].name).toBe("tags");
|
|
expect(cipher.fields[1].value).toBe("someTag");
|
|
});
|
|
|
|
it("should parse userTwoFa records", async () => {
|
|
const result = await importer.parse(userTwoFaData);
|
|
expect(result != null).toBe(true);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
|
|
expect(cipher.name).toEqual("2FA nickname");
|
|
expect(cipher.login.username).toBeNull();
|
|
expect(cipher.login.password).toBeNull();
|
|
expect(cipher.login.totp).toBe("someTOTPSeed");
|
|
expect(cipher.notes).toEqual("Additional information field content.");
|
|
|
|
expect(cipher.fields.length).toBe(2);
|
|
|
|
expect(cipher.fields[0].name).toBe("status");
|
|
expect(cipher.fields[0].value).toBe("active");
|
|
|
|
expect(cipher.fields[1].name).toBe("tags");
|
|
expect(cipher.fields[1].value).toBe("someTag");
|
|
});
|
|
|
|
it("should parse creditCard records", async () => {
|
|
const result = await importer.parse(userCreditCardData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
expect(result.ciphers.length).toBe(1);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
expect(cipher.type).toBe(CipherType.Card);
|
|
expect(cipher.name).toBe("Visa test card");
|
|
expect(cipher.card.brand).toBe("Visa");
|
|
expect(cipher.card.cardholderName).toBe("Joe User");
|
|
expect(cipher.card.number).toBe("4111111111111111");
|
|
expect(cipher.card.code).toBe("222");
|
|
expect(cipher.card.expMonth).toBe("04");
|
|
expect(cipher.card.expYear).toBe("24");
|
|
|
|
expect(cipher.notes).toBe("This is the additional information field");
|
|
|
|
expect(cipher.fields.length).toBe(2);
|
|
|
|
expect(cipher.fields[0].name).toBe("status");
|
|
expect(cipher.fields[0].value).toBe("active");
|
|
|
|
expect(cipher.fields[1].name).toBe("tags");
|
|
expect(cipher.fields[1].value).toBe("someTag");
|
|
});
|
|
|
|
it("should parse identity records", async () => {
|
|
const result = await importer.parse(userIdentityData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
expect(cipher.type).toBe(CipherType.Identity);
|
|
expect(cipher.name).toBe("Joe User's nickname");
|
|
expect(cipher.identity.fullName).toBe("Mr Joe M User");
|
|
expect(cipher.identity.title).toBe("Mr");
|
|
expect(cipher.identity.firstName).toBe("Joe");
|
|
expect(cipher.identity.middleName).toBe("M");
|
|
expect(cipher.identity.lastName).toBe("User");
|
|
expect(cipher.identity.email).toBe("joe.user@email.com");
|
|
|
|
expect(cipher.identity.address1).toBe("1 Example House");
|
|
expect(cipher.identity.address2).toBe("Suite 300");
|
|
|
|
expect(cipher.identity.city).toBe("Portland");
|
|
expect(cipher.identity.postalCode).toBe("04101");
|
|
expect(cipher.identity.country).toBe("United States");
|
|
|
|
expect(cipher.fields.length).toBe(4);
|
|
|
|
expect(cipher.fields[0].name).toEqual("status");
|
|
expect(cipher.fields[0].value).toEqual("active");
|
|
|
|
expect(cipher.fields[1].name).toBe("tags");
|
|
expect(cipher.fields[1].value).toBe("someTag");
|
|
|
|
expect(cipher.fields[2].name).toEqual("gender");
|
|
expect(cipher.fields[2].value).toEqual("Male");
|
|
|
|
expect(cipher.fields[3].name).toEqual("number");
|
|
expect(cipher.fields[3].value).toEqual("2223334444");
|
|
});
|
|
|
|
it("should parse secureNote records", async () => {
|
|
const result = await importer.parse(userNoteData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
expect(result.ciphers.length).toBe(1);
|
|
|
|
const cipher = result.ciphers.shift();
|
|
expect(cipher.type).toBe(CipherType.SecureNote);
|
|
expect(cipher.name).toBe("The title of a secure note");
|
|
expect(cipher.notes).toBe("The content of a secure note. Lorem ipsum, etc.");
|
|
|
|
expect(cipher.fields.length).toBe(1);
|
|
|
|
expect(cipher.fields[0].name).toBe("status");
|
|
expect(cipher.fields[0].value).toBe("active");
|
|
});
|
|
|
|
it("should parse idCard records", async () => {
|
|
const result = await importer.parse(userIdCardData);
|
|
|
|
expect(result).not.toBeNull();
|
|
expect(result.success).toBe(true);
|
|
|
|
expect(result.ciphers.length).toBe(14);
|
|
|
|
// Driver's license
|
|
const cipher = result.ciphers.shift();
|
|
expectDriversLicense(cipher);
|
|
|
|
// Passport
|
|
const cipher2 = result.ciphers.shift();
|
|
expectPassport(cipher2);
|
|
|
|
// Social Security
|
|
const cipher3 = result.ciphers.shift();
|
|
expectSocialSecurity(cipher3);
|
|
|
|
// Id Card
|
|
const cipher4 = result.ciphers.shift();
|
|
expectIdCard(cipher4);
|
|
|
|
// Tax Number
|
|
const cipher5 = result.ciphers.shift();
|
|
expectTaxNumber(cipher5);
|
|
|
|
// Bank Account
|
|
const cipher6 = result.ciphers.shift();
|
|
expectBankAccount(cipher6);
|
|
|
|
// Insurance card
|
|
const cipher7 = result.ciphers.shift();
|
|
expectInsuranceCard(cipher7);
|
|
|
|
// Health card
|
|
const cipher8 = result.ciphers.shift();
|
|
expectHealthCard(cipher8);
|
|
|
|
// Membership card
|
|
const cipher9 = result.ciphers.shift();
|
|
expectMembershipCard(cipher9);
|
|
|
|
// Database card
|
|
const cipher10 = result.ciphers.shift();
|
|
expectDatabase(cipher10);
|
|
|
|
// Outdoor license
|
|
const cipher11 = result.ciphers.shift();
|
|
expectOutdoorLicense(cipher11);
|
|
|
|
// Reward program
|
|
const cipher12 = result.ciphers.shift();
|
|
expectRewardProgram(cipher12);
|
|
|
|
// Software license
|
|
const cipher13 = result.ciphers.shift();
|
|
expectSoftwareLicense(cipher13);
|
|
|
|
// Tour visa
|
|
const cipher14 = result.ciphers.shift();
|
|
expectTourVisa(cipher14);
|
|
});
|
|
});
|