diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/EmbeddedListSearchHeader.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/EmbeddedListSearchHeader.tsx index e54b63de9ffc5..c253351e2f81b 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/EmbeddedListSearchHeader.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/EmbeddedListSearchHeader.tsx @@ -77,6 +77,7 @@ export default function EmbeddedListSearchHeader({ { + it("can visit related entities", () => { + cy.login(); + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.wait(5000); + cy.contains("of 0").should("not.exist"); + cy.contains(/of [0-9]+/); + }); + + it("can search related entities by query", () => { + cy.login(); + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.get('[placeholder="Filter entities..."]').click().type( + "logging{enter}" + ); + cy.wait(5000); + cy.contains("of 0").should("not.exist"); + cy.contains(/of 1/); + cy.contains("cypress_logging_events"); + cy.contains("SampleCypressHdfsDataset").should("not.exist"); + }); + + it("can apply filters on related entities", () => { + cy.login(); + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.wait(5000); + // Select tags filter + cy.contains("Filters").click(); + + cy.get('[data-testid="facet-tags-urn:li:tag:Cypress2"]').click({force: true}) + cy.wait(3000); + + // Unselect tags filter + cy.contains("cypress_logging_events").should("not.exist"); + cy.contains("SampleCypressHdfsDataset"); + cy.get('[data-testid="facet-tags-urn:li:tag:Cypress2"]').click({force: true}) + + cy.wait(3000); + cy.contains("cypress_logging_events"); + cy.contains("SampleCypressHdfsDataset"); + }); + + it("can search related entities by a specific tag using advanced search", () => { + cy.login(); + + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.wait(3000); + cy.contains("Filters").click(); + cy.contains("Advanced").click(); + cy.contains("Add Filter").click(); + cy.contains(/^Tag$/).click({ force: true }); + + cy.get('[data-testid="tag-term-modal-input"]').type("Cypress2"); + cy.wait(2000); + cy.get('[data-testid="tag-term-option"]').click({ force: true }); + cy.get('[data-testid="add-tag-term-from-modal-btn"]').click({ + force: true, + }); + + cy.wait(2000); + cy.contains("SampleCypressHdfsDataset"); + // Only 1 result. + cy.contains("of 1"); + }); + + it("can search related entities by AND-ing two concepts using advanced search", () => { + cy.login(); + + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.wait(3000); + cy.contains("Filters").click(); + cy.contains("Advanced").click(); + cy.contains("Add Filter").click(); + cy.contains(/^Tag$/).click({ force: true }); + cy.get('[data-testid="tag-term-modal-input"]').type("Cypress2"); + cy.wait(2000); + cy.get('[data-testid="tag-term-option"]').click({ force: true }); + cy.get('[data-testid="add-tag-term-from-modal-btn"]').click({ + force: true, + }); + cy.wait(2000); + cy.contains("Add Filter").click(); + cy.get('[data-testid="adv-search-add-filter-description"]').click({ + force: true, + }); + cy.get('[data-testid="edit-text-input"]').type("my hdfs"); + cy.get('[data-testid="edit-text-done-btn"]').click({ force: true }); + cy.contains("SampleCypressHdfsDataset"); + cy.contains("of 1"); + }); + + it("can search related entities by OR-ing two concepts using advanced search", () => { + cy.login(); + + cy.visit("/glossaryTerm/urn:li:glossaryTerm:CypressNode.CypressColumnInfoType/Related%20Entities"); + cy.wait(3000); + cy.contains("Filters").click(); + cy.contains("Advanced").click(); + cy.contains("Add Filter").click(); + cy.get('[data-testid="adv-search-add-filter-description"]').click({ + force: true, + }); + cy.get('[data-testid="edit-text-input"]').type("single log event"); + cy.get('[data-testid="edit-text-done-btn"]').click({ force: true }); + cy.wait(2000); + cy.contains("Add Filter").click(); + cy.contains(/^Tag$/).click({ force: true }); + cy.get('[data-testid="tag-term-modal-input"]').type("Cypress2"); + cy.wait(2000); + cy.get('[data-testid="tag-term-option"]').click({ force: true }); + cy.get('[data-testid="add-tag-term-from-modal-btn"]').click({ + force: true, + }); + cy.wait(2000); + + cy.contains("all filters").click(); + cy.contains("any filter").click({ force: true }); + + cy.contains("SampleCypressHdfsDataset"); + cy.contains("cypress_logging_events"); + }); +}); diff --git a/smoke-test/tests/cypress/data.json b/smoke-test/tests/cypress/data.json index 443c59748b743..29c7b78211a78 100644 --- a/smoke-test/tests/cypress/data.json +++ b/smoke-test/tests/cypress/data.json @@ -151,6 +151,16 @@ "com.linkedin.pegasus2avro.metadata.snapshot.DatasetSnapshot": { "urn": "urn:li:dataset:(urn:li:dataPlatform:hdfs,SampleCypressHdfsDataset,PROD)", "aspects": [ + { + "com.linkedin.pegasus2avro.dataset.DatasetProperties": { + "description": "my hdfs dataset", + "uri": null, + "tags": [], + "customProperties": { + "encoding": "utf-8" + } + } + }, { "com.linkedin.pegasus2avro.common.BrowsePaths": { "paths": ["/prod/hdfs/SampleCypressHdfsDataset"] @@ -390,7 +400,7 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [{ "tag": "urn:li:tag:Cypress" }, { "tag": "urn:li:tag:Cypress2" }] } } ] @@ -404,6 +414,17 @@ "com.linkedin.pegasus2avro.metadata.snapshot.DatasetSnapshot": { "urn": "urn:li:dataset:(urn:li:dataPlatform:hive,SampleCypressHiveDataset,PROD)", "aspects": [ + { + "com.linkedin.pegasus2avro.dataset.DatasetProperties": { + "description": "my hive dataset", + "uri": null, + "tags": [], + "customProperties": { + "prop1": "fakeprop", + "prop2": "pikachu" + } + } + }, { "com.linkedin.pegasus2avro.common.Ownership": { "owners": [ @@ -1605,6 +1626,39 @@ }, "proposedDelta": null }, + { + "auditHeader": null, + "proposedSnapshot": { + "com.linkedin.pegasus2avro.metadata.snapshot.TagSnapshot": { + "urn": "urn:li:tag:Cypress2", + "aspects": [ + { + "com.linkedin.pegasus2avro.tag.TagProperties": { + "name": "Cypress 2", + "description": "Indicates the entity is #2 for cypress test purposes" + } + }, + { + "com.linkedin.pegasus2avro.common.Ownership": { + "owners": [ + { + "owner": "urn:li:corpuser:jdoe", + "type": "DATAOWNER", + "source": null + } + ], + "lastModified": { + "time": 1581407189000, + "actor": "urn:li:corpuser:jdoe", + "impersonator": null + } + } + } + ] + } + }, + "proposedDelta": null + }, { "auditHeader": null, "entityType": "dataset",