| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- import { LabelStudio, Sidebar, Tooltip } from "@humansignal/frontend-test/helpers/LSF/index";
- import { simpleRegionsConfig, simpleRegionsData, simpleRegionsResult } from "../../data/outliner/hide-all";
- describe("Outliner - Hide all regions", () => {
- it("should exist", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hideAllRegionsButton.should("be.visible").should("be.enabled");
- });
- it("should be disabled without existed regions", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult([]).init();
- Sidebar.hasRegions(0);
- Sidebar.hideAllRegionsButton.should("be.visible").should("be.disabled");
- });
- it("should hide all regions", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hasHiddenRegion(0);
- Sidebar.hideAllRegionsButton.click();
- Sidebar.hasHiddenRegion(3);
- });
- it("should show all regions", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hideAllRegionsButton.click();
- Sidebar.hasHiddenRegion(3);
- Sidebar.showAllRegionsButton.click();
- Sidebar.hasHiddenRegion(0);
- });
- it("should hide rest regions", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.toggleRegionVisibility(1);
- Sidebar.hasHiddenRegion(1);
- Sidebar.hideAllRegionsButton.click();
- Sidebar.hasHiddenRegion(3);
- });
- it("should hide all regions except the target region by ID from param", () => {
- LabelStudio.params()
- .config(simpleRegionsConfig)
- .data(simpleRegionsData)
- .withResult(simpleRegionsResult)
- .withParam("region", "label_2")
- .init();
- cy.window().then((window: any | unknown) => {
- window.Htx.annotationStore.annotations[0].regionStore.setRegionVisible(window.LSF_CONFIG.region);
- });
- Sidebar.hasRegions(3);
- Sidebar.hasHiddenRegion(2);
- Sidebar.assertRegionHidden(0, "Label 1", true);
- Sidebar.assertRegionHidden(1, "Label 2", false);
- Sidebar.assertRegionHidden(2, "Label 3", true);
- });
- it("should hide all regions except the target region by ID within the targeted annotation tab specified by param", () => {
- LabelStudio.params()
- .config(simpleRegionsConfig)
- .data(simpleRegionsData)
- .withAnnotation({ id: "10", result: simpleRegionsResult })
- .withAnnotation({ id: "20", result: simpleRegionsResult })
- .withParam("annotation", "10")
- .withParam("region", "label_2")
- .init();
- cy.window().then((window: any | unknown) => {
- const annIdFromParam = window.LSF_CONFIG.annotation;
- const annotations = window.Htx.annotationStore.annotations;
- const lsfAnnotation = annotations.find((ann: any) => ann.pk === annIdFromParam || ann.id === annIdFromParam);
- const annID = lsfAnnotation.pk ?? lsfAnnotation.id;
- expect(annID).to.equal("10");
- // Move to the annotation tab specified by param
- cy.get('[class="lsf-annotations-list__toggle"]').click();
- cy.get('[class="lsf-annotations-list__entity-id"]').contains("10").click();
- annotations[1].regionStore.setRegionVisible(window.LSF_CONFIG.region);
- });
- Sidebar.hasRegions(3);
- Sidebar.hasHiddenRegion(2);
- Sidebar.assertRegionHidden(0, "Label 1", true);
- Sidebar.assertRegionHidden(1, "Label 2", false);
- Sidebar.assertRegionHidden(2, "Label 3", true);
- });
- it("should not hide regions in the non-targeted annotaion tab", () => {
- LabelStudio.params()
- .config(simpleRegionsConfig)
- .data(simpleRegionsData)
- .withAnnotation({ id: "10", result: simpleRegionsResult })
- .withAnnotation({ id: "20", result: simpleRegionsResult })
- .withParam("annotation", "10")
- .withParam("region", "label_2")
- .init();
- cy.window().then((window: any | unknown) => {
- window.Htx.annotationStore.annotations[1].regionStore.setRegionVisible(window.LSF_CONFIG.region);
- });
- // Validate the annotation tab
- cy.get('[class="lsf-annotations-list__entity-id"]').should("contain.text", "20");
- Sidebar.hasRegions(3);
- Sidebar.hasHiddenRegion(0);
- });
- it("should select the target region by ID from param", () => {
- LabelStudio.params()
- .config(simpleRegionsConfig)
- .data(simpleRegionsData)
- .withResult(simpleRegionsResult)
- .withParam("region", "label_2")
- .init();
- cy.window().then((window: any | unknown) => {
- window.Htx.annotationStore.annotations[0].regionStore.selectRegionByID(window.LSF_CONFIG.region);
- });
- Sidebar.hasRegions(3);
- Sidebar.hasSelectedRegions(1);
- Sidebar.hasSelectedRegion(1);
- });
- it("should have tooltip for hide action", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hideAllRegionsButton.trigger("mouseover");
- Tooltip.hasText("Hide all regions");
- });
- it("should have tooltip for show action", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hideAllRegionsButton.click();
- Sidebar.showAllRegionsButton.trigger("mouseover");
- Tooltip.hasText("Show all regions");
- });
- it("should react to changes in regions' visibility", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- Sidebar.hideAllRegionsButton.click();
- Sidebar.showAllRegionsButton.should("be.visible");
- Sidebar.toggleRegionVisibility(1);
- Sidebar.hideAllRegionsButton.should("be.visible");
- });
- it("should toggle visibility when its grouped by tool ", () => {
- LabelStudio.params().config(simpleRegionsConfig).data(simpleRegionsData).withResult(simpleRegionsResult).init();
- Sidebar.hasRegions(3);
- cy.get('[data-testid="grouping-manual"]').click();
- cy.wait(500);
- cy.contains("Group by Tool").click({ force: true });
- Sidebar.toggleRegionVisibility(0);
- Sidebar.hasHiddenRegion(3);
- });
- });
|