mirror of
https://github.com/bitwarden/browser
synced 2026-01-06 10:33:57 +00:00
Assign ownership to many of the remaining libs/common files. Criteria for ownership: * Files used by a single team, is now owned by that team. * Files related to a domain owned by a team is now owned by that team. * Where ownership is unclear the "lowest level" service takes ownership.
86 lines
2.0 KiB
TypeScript
86 lines
2.0 KiB
TypeScript
import { mockEnc, mockFromJson } from "../../../../spec";
|
|
import { EncryptedString, EncString } from "../../../platform/models/domain/enc-string";
|
|
import { FieldType } from "../../enums";
|
|
import { FieldData } from "../../models/data/field.data";
|
|
import { Field } from "../../models/domain/field";
|
|
|
|
describe("Field", () => {
|
|
let data: FieldData;
|
|
|
|
beforeEach(() => {
|
|
data = {
|
|
type: FieldType.Text,
|
|
name: "encName",
|
|
value: "encValue",
|
|
linkedId: null,
|
|
};
|
|
});
|
|
|
|
it("Convert from empty", () => {
|
|
const data = new FieldData();
|
|
const field = new Field(data);
|
|
|
|
expect(field).toEqual({
|
|
type: undefined,
|
|
name: null,
|
|
value: null,
|
|
linkedId: undefined,
|
|
});
|
|
});
|
|
|
|
it("Convert", () => {
|
|
const field = new Field(data);
|
|
|
|
expect(field).toEqual({
|
|
type: FieldType.Text,
|
|
name: { encryptedString: "encName", encryptionType: 0 },
|
|
value: { encryptedString: "encValue", encryptionType: 0 },
|
|
linkedId: null,
|
|
});
|
|
});
|
|
|
|
it("toFieldData", () => {
|
|
const field = new Field(data);
|
|
expect(field.toFieldData()).toEqual(data);
|
|
});
|
|
|
|
it("Decrypt", async () => {
|
|
const field = new Field();
|
|
field.type = FieldType.Text;
|
|
field.name = mockEnc("encName");
|
|
field.value = mockEnc("encValue");
|
|
|
|
const view = await field.decrypt(null);
|
|
|
|
expect(view).toEqual({
|
|
type: 0,
|
|
name: "encName",
|
|
value: "encValue",
|
|
newField: false,
|
|
showCount: false,
|
|
showValue: false,
|
|
});
|
|
});
|
|
|
|
describe("fromJSON", () => {
|
|
it("initializes nested objects", () => {
|
|
jest.spyOn(EncString, "fromJSON").mockImplementation(mockFromJson);
|
|
|
|
const actual = Field.fromJSON({
|
|
name: "myName" as EncryptedString,
|
|
value: "myValue" as EncryptedString,
|
|
});
|
|
|
|
expect(actual).toEqual({
|
|
name: "myName_fromJSON",
|
|
value: "myValue_fromJSON",
|
|
});
|
|
expect(actual).toBeInstanceOf(Field);
|
|
});
|
|
|
|
it("returns null if object is null", () => {
|
|
expect(Field.fromJSON(null)).toBeNull();
|
|
});
|
|
});
|
|
});
|