Fix #21430 : Tier tag not updating in search filters (#21499)

* Fix #21430 : Tier tag not updating in search filters

* Fix #21430 : Tier tag not updating in search filters

* add tests

* test: add test for glossary term

* test: add test coverage for all entities

* fix tests

* fix tests

* fix: service entity tests

---------

Co-authored-by: Pranita <pfulsundar8@gmail.com>
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
This commit is contained in:
sonika-shah 2025-06-04 14:47:46 +05:30 committed by GitHub
parent d87fd193db
commit cc1e8f7b5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
51 changed files with 1218 additions and 10 deletions

View File

@ -33,9 +33,11 @@ import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.LineageDetails;
import org.openmetadata.schema.type.Relationship;
import org.openmetadata.schema.type.TableConstraint;
import org.openmetadata.schema.type.TagLabel;
import org.openmetadata.service.Entity;
import org.openmetadata.service.exception.EntityNotFoundException;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.search.ParseTags;
import org.openmetadata.service.search.SearchClient;
import org.openmetadata.service.search.SearchIndexUtils;
import org.openmetadata.service.search.models.IndexMapping;
@ -108,7 +110,10 @@ public interface SearchIndex {
map.put("descriptionStatus", getDescriptionStatus(entity));
map.put("fqnParts", getFQNParts(entity.getFullyQualifiedName()));
map.put("deleted", entity.getDeleted() != null && entity.getDeleted());
TagLabel tierTag = new ParseTags(Entity.getEntityTags(entityType, entity)).getTierTag();
Optional.ofNullable(tierTag)
.filter(tier -> tier.getTagFQN() != null && !tier.getTagFQN().isEmpty())
.ifPresent(tier -> map.put("tier", tier));
Optional.ofNullable(entity.getCertification())
.ifPresent(assetCertification -> map.put("certification", assetCertification));
return map;

View File

@ -128,6 +128,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -172,6 +172,31 @@
"followers": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -124,6 +124,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -96,6 +96,31 @@
"analyzer": "om_analyzer",
"similarity": "boolean"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -393,6 +393,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -128,6 +128,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -214,6 +214,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -250,6 +250,31 @@
"usageCount": {
"type": "integer"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -381,6 +381,31 @@
"usageCount": {
"type": "integer"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -127,6 +127,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -179,6 +179,31 @@
"updatedBy": {
"type": "text"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -138,6 +138,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -99,6 +99,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -128,6 +128,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -123,6 +123,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -127,6 +127,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -190,6 +190,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -117,6 +117,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -101,6 +101,31 @@
"analyzer": "om_analyzer_jp",
"similarity": "boolean"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -401,6 +401,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -127,6 +127,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -163,6 +163,31 @@
"experts": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -251,6 +251,31 @@
"usageCount": {
"type": "integer"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -395,6 +395,31 @@
"usageCount": {
"type": "integer"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -122,6 +122,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -138,6 +138,31 @@
"updatedBy": {
"type": "text"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -137,6 +137,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -87,6 +87,31 @@
"updatedBy": {
"type": "text"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -127,6 +127,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -114,6 +114,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -108,6 +108,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -186,6 +186,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -104,6 +104,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -93,6 +93,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -389,6 +389,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -111,6 +111,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -159,6 +159,31 @@
"experts": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -208,6 +208,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -374,6 +374,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -109,6 +109,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -115,6 +115,31 @@
"updatedBy": {
"type": "text"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -121,6 +121,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -80,6 +80,31 @@
"entityType": {
"type": "keyword"
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -108,6 +108,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -104,6 +104,31 @@
}
}
},
"tier": {
"properties": {
"tagFQN": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"analyzer": "om_analyzer"
}
}
},
"labelType": {
"type": "keyword"
},
"description": {
"type": "text"
},
"source": {
"type": "keyword"
},
"state": {
"type": "keyword"
}
}
},
"tags": {
"properties": {
"tagFQN": {

View File

@ -195,7 +195,8 @@ entities.forEach((EntityClass) => {
await entity.tier(
page,
'Tier1',
EntityDataClass.tierTag1.data.displayName
EntityDataClass.tierTag1.data.displayName,
entity
);
});
@ -216,7 +217,7 @@ entities.forEach((EntityClass) => {
test('Tag Add, Update and Remove', async ({ page }) => {
test.slow(true);
await entity.tag(page, 'PersonalData.Personal', 'PII.None');
await entity.tag(page, 'PersonalData.Personal', 'PII.None', entity);
});
test('Glossary Term Add, Update and Remove', async ({ page }) => {
@ -225,7 +226,8 @@ entities.forEach((EntityClass) => {
await entity.glossaryTerm(
page,
EntityDataClass.glossaryTerm1.responseData,
EntityDataClass.glossaryTerm2.responseData
EntityDataClass.glossaryTerm2.responseData,
entity
);
});

View File

@ -34,6 +34,7 @@ import {
assignTag,
assignTagToChildren,
assignTier,
checkExploreSearchFilter,
createAnnouncement,
createInactiveAnnouncement,
deleteAnnouncement,
@ -202,8 +203,17 @@ export class EntityClass {
}
}
async tier(page: Page, tier1: string, tier2: string) {
async tier(page: Page, tier1: string, tier2: string, entity?: EntityClass) {
await assignTier(page, tier1, this.endpoint);
if (entity) {
await checkExploreSearchFilter(
page,
'Tier',
'tier.tagFQN',
`Tier.${tier1}`,
entity
);
}
await assignTier(page, tier2, this.endpoint);
await removeTier(page, this.endpoint);
}
@ -216,8 +226,11 @@ export class EntityClass {
await updateDescription(page, description);
}
async tag(page: Page, tag1: string, tag2: string) {
async tag(page: Page, tag1: string, tag2: string, entity?: EntityClass) {
await assignTag(page, tag1);
if (entity) {
await checkExploreSearchFilter(page, 'Tag', 'tags.tagFQN', tag1, entity);
}
await assignTag(page, tag2, 'Edit');
await removeTag(page, [tag2]);
await removeTag(page, [tag1]);
@ -273,9 +286,19 @@ export class EntityClass {
async glossaryTerm(
page: Page,
glossaryTerm1: GlossaryTerm['responseData'],
glossaryTerm2: GlossaryTerm['responseData']
glossaryTerm2: GlossaryTerm['responseData'],
entity?: EntityClass
) {
await assignGlossaryTerm(page, glossaryTerm1);
if (entity) {
await checkExploreSearchFilter(
page,
'Tag',
'tags.tagFQN',
glossaryTerm1.fullyQualifiedName,
entity
);
}
await assignGlossaryTerm(page, glossaryTerm2, 'Edit');
await removeGlossaryTerm(page, [glossaryTerm1, glossaryTerm2]);

View File

@ -19,7 +19,9 @@ import {
LIST_OF_FIELDS_TO_EDIT_TO_BE_DISABLED,
} from '../constant/delete';
import { ES_RESERVED_CHARACTERS } from '../constant/entity';
import { SidebarItem } from '../constant/sidebar';
import { EntityTypeEndpoint } from '../support/entity/Entity.interface';
import { EntityClass } from '../support/entity/EntityClass';
import {
clickOutside,
descriptionBox,
@ -32,6 +34,8 @@ import {
getCurrentMillis,
getEpochMillisForFutureDays,
} from './dateTime';
import { searchAndClickOnOption } from './explore';
import { sidebarClick } from './sidebar';
export const visitEntityPage = async (data: {
page: Page;
@ -1435,3 +1439,52 @@ export const generateEntityChildren = (entityName: string, count = 25) => {
};
});
};
export const checkExploreSearchFilter = async (
page: Page,
filterLabel: string,
filterKey: string,
filterValue: string,
entity?: EntityClass
) => {
await sidebarClick(page, SidebarItem.EXPLORE);
await page.click(`[data-testid="search-dropdown-${filterLabel}"]`);
await searchAndClickOnOption(
page,
{
label: filterLabel,
key: filterKey,
value: filterValue,
},
true
);
const rawFilterValue = (filterValue ?? '').replace(/ /g, '+').toLowerCase();
// Escape double quotes before encoding
const escapedValue = rawFilterValue.replace(/"/g, '\\"');
const filterValueForSearchURL =
filterKey === 'tier.tagFQN'
? filterValue
: /["%]/.test(filterValue ?? '')
? encodeURIComponent(escapedValue)
: rawFilterValue;
const querySearchURL = `/api/v1/search/query?*index=dataAsset*query_filter=*should*${filterKey}*${filterValueForSearchURL}*`;
const queryRes = page.waitForResponse(querySearchURL);
await page.click('[data-testid="update-btn"]');
await queryRes;
await page.waitForSelector('[data-testid="loader"]', { state: 'detached' });
await expect(
page.getByTestId(
`table-data-card_${entity?.entityResponseData?.fullyQualifiedName}`
)
).toBeVisible();
await page.click('[data-testid="clear-filters"]');
await entity?.visitEntityPage(page);
};

View File

@ -38,8 +38,8 @@ export const searchAndClickOnOption = async (
testId = filter.value ?? '';
}
await page.waitForSelector(`[data-testid="${testId}"]`);
await page.click(`[data-testid="${testId}"]`);
await page.getByTestId(testId).click();
await checkCheckboxStatus(page, `${testId}-checkbox`, checkedAfterClick);
};

View File

@ -101,7 +101,7 @@ const MarketPlacePage = () => {
return (
<PageLayoutV1
className="p-0 marketplace-page"
className="marketplace-page"
pageTitle={t('label.market-place')}>
<Row className="marketplace-header">
<Col span={24}>