mirror of
https://github.com/bitwarden/browser.git
synced 2024-10-30 08:10:34 +01:00
a5a12a6723
* Create and register new libs/importer Create package.json Create tsconfig Create jest.config Extend shared and root tsconfig and jest.configs Register with eslint * Move importer-related files to libs/importer * Move importer-spec-related files to libs/importer Move import.service.spec * Update package-lock.json * Set CODEOWNERS for new libs/importer * Register libs/importer with cli and fix imports * Register libs/importer with web and fix imports * Move importOption into models Rename importOptions to import-options * Fix linting issues after updating prettier * Only expose necessary files from libs/importer Fix tsconfig files - Removes the trailing /index on imports in web/cli As the spec-files no longer can access the internals via @bitwarden/importer they import by path (../src/importers) * Add barrel files to vendors with more than one importer
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
// eslint-disable-next-line no-restricted-imports
|
|
import { Substitute, SubstituteOf } from "@fluffy-spoon/substitute";
|
|
|
|
import { CryptoService } from "@bitwarden/common/abstractions/crypto.service";
|
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
|
|
|
import { BitwardenJsonImporter } from "../src/importers";
|
|
|
|
import { data as passwordProtectedData } from "./test-data/bitwarden-json/password-protected.json";
|
|
|
|
describe("bitwarden json importer", () => {
|
|
let sut: BitwardenJsonImporter;
|
|
let cryptoService: SubstituteOf<CryptoService>;
|
|
let i18nService: SubstituteOf<I18nService>;
|
|
|
|
beforeEach(() => {
|
|
cryptoService = Substitute.for<CryptoService>();
|
|
i18nService = Substitute.for<I18nService>();
|
|
|
|
sut = new BitwardenJsonImporter(cryptoService, i18nService);
|
|
});
|
|
|
|
it("should fail if password is needed", async () => {
|
|
expect((await sut.parse(passwordProtectedData)).success).toBe(false);
|
|
});
|
|
|
|
it("should return password needed error message", async () => {
|
|
const expected = "Password required error message";
|
|
i18nService.t("importPasswordRequired").returns(expected);
|
|
|
|
expect((await sut.parse(passwordProtectedData)).errorMessage).toEqual(expected);
|
|
});
|
|
});
|