mirror of
https://github.com/bitwarden/browser
synced 2026-02-24 16:43:27 +00:00
* PM-28183 implemented new sends filter and search design * PM-28183 resolved table issue fallout from merge conflict * PM-28183 resolved browser paste url issue * PM-28183 put new feature behind feature flag * PM-28183 resolved feature flag * PM-28183 resolved type-safe approach pr comment * PM-28183 resolved DesktopSendUIRefresh feature flag is enabled. pr comment * PM-28183 restored SendUIRefresh * PM-28183 resolved query parameter subscription pr comment * PM-28183 resolved pr comment re enum like objects * PM-28183 resolved remove enum like objects pr comment * PM-28183 resolved pr comment re defining filteredSends member variable * PM-28183 resolved pr comment re Code Duplication in syncCompleted Handler * PM-28183 resolved pr comment re Floating Promise * PM-28183 restored feature flag * PM-28183 resolved pr comment re Dual Binding Pattern * PM28183 resolved options cell button pr comment * PM 28183 resolved pr comment re Incorrect CSS Class - Breaking Layout * PM 28183 resolved pr comment re uery Param Update Causes Redundant Filter Application * PM-28183 resolved lint issues * PM 28183 resolved lint issues * PM-28183 resolved type issue with import * PM-28183 resolved import in failling test * chore: rerun web build * PM-28183 resolved build issues * PM-28183 resolved build issues * PM-28183 resolved lint issues
87 lines
2.2 KiB
TypeScript
87 lines
2.2 KiB
TypeScript
import { mock } from "jest-mock-extended";
|
|
|
|
import { mockContainerService, mockEnc } from "../../../../../spec";
|
|
import { SendType } from "../../types/send-type";
|
|
import { SendAccessResponse } from "../response/send-access.response";
|
|
|
|
import { SendAccess } from "./send-access";
|
|
import { SendText } from "./send-text";
|
|
|
|
describe("SendAccess", () => {
|
|
let request: SendAccessResponse;
|
|
|
|
beforeEach(() => {
|
|
request = {
|
|
id: "id",
|
|
type: SendType.Text,
|
|
name: "encName",
|
|
file: null,
|
|
text: {
|
|
text: "encText",
|
|
hidden: true,
|
|
},
|
|
expirationDate: new Date("2022-01-31T12:00:00.000Z"),
|
|
creatorIdentifier: "creatorIdentifier",
|
|
} as SendAccessResponse;
|
|
|
|
mockContainerService();
|
|
});
|
|
|
|
it("Convert from empty", () => {
|
|
const request = new SendAccessResponse({});
|
|
const sendAccess = new SendAccess(request);
|
|
|
|
expect(sendAccess).toEqual({
|
|
id: null,
|
|
type: undefined,
|
|
name: null,
|
|
creatorIdentifier: null,
|
|
expirationDate: null,
|
|
});
|
|
});
|
|
|
|
it("Convert", () => {
|
|
const sendAccess = new SendAccess(request);
|
|
|
|
expect(sendAccess).toEqual({
|
|
id: "id",
|
|
type: 0,
|
|
name: { encryptedString: "encName", encryptionType: 0 },
|
|
text: {
|
|
hidden: true,
|
|
text: { encryptedString: "encText", encryptionType: 0 },
|
|
},
|
|
expirationDate: new Date("2022-01-31T12:00:00.000Z"),
|
|
creatorIdentifier: "creatorIdentifier",
|
|
});
|
|
});
|
|
|
|
it("Decrypt", async () => {
|
|
const sendAccess = new SendAccess();
|
|
sendAccess.id = "id";
|
|
sendAccess.type = SendType.Text;
|
|
sendAccess.name = mockEnc("name");
|
|
|
|
const text = mock<SendText>();
|
|
text.decrypt.mockResolvedValue({} as any);
|
|
sendAccess.text = text;
|
|
|
|
sendAccess.expirationDate = new Date("2022-01-31T12:00:00.000Z");
|
|
sendAccess.creatorIdentifier = "creatorIdentifier";
|
|
|
|
const view = await sendAccess.decrypt(null);
|
|
|
|
expect(text.decrypt).toHaveBeenCalledTimes(1);
|
|
|
|
expect(view).toEqual({
|
|
id: "id",
|
|
type: 0,
|
|
name: "name",
|
|
text: {},
|
|
file: expect.anything(),
|
|
expirationDate: new Date("2022-01-31T12:00:00.000Z"),
|
|
creatorIdentifier: "creatorIdentifier",
|
|
});
|
|
});
|
|
});
|