diff --git a/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts b/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts index 08db7d5d4ab..70b548cba66 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts @@ -552,11 +552,7 @@ export class VaultPopupListFiltersService { // When the organization filter changes and a folder is already selected, // reset the folder filter if the folder does not belong to the new organization filter - if ( - currentFilters.folder && - currentFilters.folder.id !== null && - organization.id !== MY_VAULT_ID - ) { + if (currentFilters.folder && currentFilters.folder.id && organization.id !== MY_VAULT_ID) { // Get all ciphers that belong to the new organization const orgCiphers = this.cipherViews.filter((c) => c.organizationId === organization.id); diff --git a/libs/common/src/vault/models/data/folder.data.ts b/libs/common/src/vault/models/data/folder.data.ts index f6ad114949f..5358cd713b3 100644 --- a/libs/common/src/vault/models/data/folder.data.ts +++ b/libs/common/src/vault/models/data/folder.data.ts @@ -10,7 +10,7 @@ export class FolderData { constructor(response: Partial) { this.name = response.name ?? ""; this.id = response.id ?? ""; - this.revisionDate = response.revisionDate ?? ""; + this.revisionDate = response.revisionDate ?? new Date().toISOString(); } static fromJSON(obj: Jsonify) { diff --git a/libs/common/src/vault/models/domain/folder.spec.ts b/libs/common/src/vault/models/domain/folder.spec.ts index 3b08c5490f1..0ef41a50239 100644 --- a/libs/common/src/vault/models/domain/folder.spec.ts +++ b/libs/common/src/vault/models/domain/folder.spec.ts @@ -42,6 +42,31 @@ describe("Folder", () => { }); }); + describe("constructor", () => { + it("initializes properties from FolderData", () => { + const revisionDate = new Date("2022-08-04T01:06:40.441Z"); + const folder = new Folder({ + id: "id", + name: "name", + revisionDate: revisionDate.toISOString(), + }); + + expect(folder.id).toBe("id"); + expect(folder.revisionDate).toEqual(revisionDate); + expect(folder.name).toBeInstanceOf(EncString); + expect((folder.name as EncString).encryptedString).toBe("name"); + }); + + it("initializes empty properties when no FolderData is provided", () => { + const folder = new Folder(); + + expect(folder.id).toBe(""); + expect(folder.name).toBeInstanceOf(EncString); + expect((folder.name as EncString).encryptedString).toBe(""); + expect(folder.revisionDate).toBeInstanceOf(Date); + }); + }); + describe("fromJSON", () => { jest.mock("../../../key-management/crypto/models/enc-string"); jest.spyOn(EncString, "fromJSON").mockImplementation(mockFromJson); diff --git a/libs/common/src/vault/models/domain/folder.ts b/libs/common/src/vault/models/domain/folder.ts index 2a6355eb33f..f96537a4a96 100644 --- a/libs/common/src/vault/models/domain/folder.ts +++ b/libs/common/src/vault/models/domain/folder.ts @@ -7,12 +7,6 @@ import { SymmetricCryptoKey } from "../../../platform/models/domain/symmetric-cr import { FolderData } from "../data/folder.data"; import { FolderView } from "../view/folder.view"; -export class Test extends Domain { - id: string = ""; - name: EncString = new EncString(""); - revisionDate: Date = new Date(); -} - export class Folder extends Domain { id: string = ""; name: EncString = new EncString("");