Skip to content

Commit

Permalink
Add test coverage for "any" state in menu options
Browse files Browse the repository at this point in the history
  • Loading branch information
davelopez committed Feb 7, 2024
1 parent f7e6d16 commit 5f14cd2
Showing 1 changed file with 44 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,28 +82,41 @@ describe("History Selection Operations", () => {
expect(wrapper.find(option).exists()).toBe(false);
});

it("should display 'unhide' option only on hidden items", async () => {
it("should display 'unhide' option on hidden items", async () => {
const option = '[data-description="unhide option"]';
expect(wrapper.find(option).exists()).toBe(false);
await wrapper.setProps({ filterText: "visible:false" });
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'delete' option only on non-deleted items", async () => {
it("should display 'unhide' option when hidden and visible items are mixed", async () => {
const option = '[data-description="unhide option"]';
expect(wrapper.find(option).exists()).toBe(false);
await wrapper.setProps({ filterText: "visible:any" });
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'delete' option on non-deleted items", async () => {
const option = '[data-description="delete option"]';
expect(wrapper.find(option).exists()).toBe(true);
await wrapper.setProps({ filterText: "deleted:true" });
expect(wrapper.find(option).exists()).toBe(false);
});

it("should display 'delete' option when non-deleted and deleted items are mixed", async () => {
const option = '[data-description="delete option"]';
await wrapper.setProps({ filterText: "deleted:any" });
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'permanently delete' option always", async () => {
const option = '[data-description="purge option"]';
expect(wrapper.find(option).exists()).toBe(true);
await wrapper.setProps({ filterText: "deleted:true" });
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'undelete' option only on deleted and non-purged items", async () => {
it("should display 'undelete' option on deleted and non-purged items", async () => {
const option = '[data-description="undelete option"]';
expect(wrapper.find(option).exists()).toBe(false);
await wrapper.setProps({
Expand All @@ -113,6 +126,15 @@ describe("History Selection Operations", () => {
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'undelete' option when non-purged items (deleted or not) are mixed", async () => {
const option = '[data-description="undelete option"]';
await wrapper.setProps({
filterText: "deleted:any",
contentSelection: getNonPurgedContentSelection(),
});
expect(wrapper.find(option).exists()).toBe(true);
});

it("should not display 'undelete' when is manual selection mode and all selected items are purged", async () => {
const option = '[data-description="undelete option"]';
await wrapper.setProps({
Expand All @@ -134,6 +156,17 @@ describe("History Selection Operations", () => {
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display 'undelete' option when is query selection mode and filtering by any deleted state", async () => {
const option = '[data-description="undelete option"]';
// In query selection mode we don't know if some items may not be purged, so we allow to undelete
await wrapper.setProps({
filterText: "deleted:any",
contentSelection: getPurgedContentSelection(),
isQuerySelection: true,
});
expect(wrapper.find(option).exists()).toBe(true);
});

it("should display collection building options only on visible and non-deleted items", async () => {
const buildListOption = '[data-description="build list"]';
const buildPairOption = '[data-description="build pair"]';
Expand All @@ -149,6 +182,14 @@ describe("History Selection Operations", () => {
expect(wrapper.find(buildListOption).exists()).toBe(false);
expect(wrapper.find(buildPairOption).exists()).toBe(false);
expect(wrapper.find(buildListOfPairsOption).exists()).toBe(false);
await wrapper.setProps({ filterText: "visible:any" });
expect(wrapper.find(buildListOption).exists()).toBe(false);
expect(wrapper.find(buildPairOption).exists()).toBe(false);
expect(wrapper.find(buildListOfPairsOption).exists()).toBe(false);
await wrapper.setProps({ filterText: "deleted:any" });
expect(wrapper.find(buildListOption).exists()).toBe(false);
expect(wrapper.find(buildPairOption).exists()).toBe(false);
expect(wrapper.find(buildListOfPairsOption).exists()).toBe(false);
});

it("should display list building option when all are selected", async () => {
Expand Down

0 comments on commit 5f14cd2

Please sign in to comment.