Fix(ui): Added displayName to add Asset Selection Model (#21544)

* added displayName to add assetmodal

* fixed persona glossery
This commit is contained in:
Dhruv Parmar 2025-06-05 12:22:06 +05:30 committed by GitHub
parent cfd548556e
commit 1df7aacae4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 40 additions and 10 deletions

View File

@ -339,17 +339,25 @@ export const addAssetsToDomain = async (
for (const asset of assets) { for (const asset of assets) {
const name = get(asset, 'entityResponseData.name'); const name = get(asset, 'entityResponseData.name');
const fqn = get(asset, 'entityResponseData.fullyQualifiedName'); const fqn = get(asset, 'entityResponseData.fullyQualifiedName');
const entityDisplayName = get(asset, 'entityResponseData.displayName');
const visibleName = entityDisplayName ?? name;
const searchRes = page.waitForResponse( const searchRes = page.waitForResponse(
`/api/v1/search/query?q=${name}&index=all&from=0&size=25&*` `/api/v1/search/query?q=${visibleName}&index=all&from=0&size=25&*`
); );
await page await page
.getByTestId('asset-selection-modal') .getByTestId('asset-selection-modal')
.getByTestId('searchbar') .getByTestId('searchbar')
.fill(name); .fill(visibleName);
await searchRes; await searchRes;
await page.locator(`[data-testid="table-data-card_${fqn}"] input`).check(); await page.locator(`[data-testid="table-data-card_${fqn}"] input`).check();
await expect(
page.locator(
`[data-testid="table-data-card_${fqn}"] [data-testid="entity-header-name"]`
)
).toContainText(visibleName);
} }
const assetsAddRes = page.waitForResponse(`/api/v1/domains/*/assets/add`); const assetsAddRes = page.waitForResponse(`/api/v1/domains/*/assets/add`);

View File

@ -696,17 +696,25 @@ export const addAssetToGlossaryTerm = async (
const entityFqn = get(asset, 'entityResponseData.fullyQualifiedName'); const entityFqn = get(asset, 'entityResponseData.fullyQualifiedName');
const entityName = get(asset, 'entityResponseData.name'); const entityName = get(asset, 'entityResponseData.name');
const searchRes = page.waitForResponse('/api/v1/search/query*'); const searchRes = page.waitForResponse('/api/v1/search/query*');
const entityDisplayName = get(asset, 'entityResponseData.displayName');
const visibleName = entityDisplayName ?? entityName;
await page await page
.locator( .locator(
'[data-testid="asset-selection-modal"] [data-testid="searchbar"]' '[data-testid="asset-selection-modal"] [data-testid="searchbar"]'
) )
.fill(entityName); .fill(visibleName);
await searchRes; await searchRes;
await page.click( await page.click(
`[data-testid="table-data-card_${entityFqn}"] input[type="checkbox"]` `[data-testid="table-data-card_${entityFqn}"] input[type="checkbox"]`
); );
await expect(
page.locator(
`[data-testid="table-data-card_${entityFqn}"] [data-testid="entity-header-name"]`
)
).toContainText(visibleName);
} }
await page.click('[data-testid="save-btn"]'); await page.click('[data-testid="save-btn"]');

View File

@ -113,34 +113,43 @@ export const addAssetsToTag = async (
if (!isUndefined(otherAsset)) { if (!isUndefined(otherAsset)) {
for (const asset of otherAsset) { for (const asset of otherAsset) {
const name = get(asset, 'entityResponseData.name'); const name = get(asset, 'entityResponseData.name');
const entityDisplayName = get(asset, 'entityResponseData.displayName');
const visibleName = entityDisplayName ?? name;
const searchRes = page.waitForResponse( const searchRes = page.waitForResponse(
`/api/v1/search/query?q=${name}&index=all&from=0&size=25&**` `/api/v1/search/query?q=${visibleName}&index=all&from=0&size=25&**`
); );
await page await page
.getByTestId('asset-selection-modal') .getByTestId('asset-selection-modal')
.getByTestId('searchbar') .getByTestId('searchbar')
.fill(name); .fill(visibleName);
await searchRes; await searchRes;
await expect(page.getByText(name)).not.toBeVisible(); await expect(page.getByText(visibleName)).not.toBeVisible();
} }
} }
for (const asset of assets) { for (const asset of assets) {
const name = get(asset, 'entityResponseData.name'); const name = get(asset, 'entityResponseData.name');
const fqn = get(asset, 'entityResponseData.fullyQualifiedName'); const fqn = get(asset, 'entityResponseData.fullyQualifiedName');
const entityDisplayName = get(asset, 'entityResponseData.displayName');
const visibleName = entityDisplayName ?? name;
const searchRes = page.waitForResponse( const searchRes = page.waitForResponse(
`/api/v1/search/query?q=${name}&index=all&from=0&size=25&**` `/api/v1/search/query?q=${visibleName}&index=all&from=0&size=25&**`
); );
await page await page
.getByTestId('asset-selection-modal') .getByTestId('asset-selection-modal')
.getByTestId('searchbar') .getByTestId('searchbar')
.fill(name); .fill(visibleName);
await searchRes; await searchRes;
await page.locator(`[data-testid="table-data-card_${fqn}"] input`).check(); await page.locator(`[data-testid="table-data-card_${fqn}"] input`).check();
await expect(
page.locator(
`[data-testid="table-data-card_${fqn}"] [data-testid="entity-header-name"]`
)
).toContainText(visibleName);
} }
const assetsAddRes = page.waitForResponse(`/api/v1/tags/*/assets/add`); const assetsAddRes = page.waitForResponse(`/api/v1/tags/*/assets/add`);

View File

@ -38,6 +38,7 @@ interface Props {
showName?: boolean; showName?: boolean;
nameClassName?: string; nameClassName?: string;
displayNameClassName?: string; displayNameClassName?: string;
showOnlyDisplayName?: boolean;
} }
export const EntityHeader = ({ export const EntityHeader = ({
@ -54,6 +55,7 @@ export const EntityHeader = ({
showName = true, showName = true,
nameClassName = '', nameClassName = '',
displayNameClassName = '', displayNameClassName = '',
showOnlyDisplayName = false,
}: Props) => { }: Props) => {
return ( return (
<div className="w-full"> <div className="w-full">
@ -83,6 +85,7 @@ export const EntityHeader = ({
openEntityInNewPage={openEntityInNewPage} openEntityInNewPage={openEntityInNewPage}
serviceName={serviceName} serviceName={serviceName}
showName={showName} showName={showName}
showOnlyDisplayName={showOnlyDisplayName}
/> />
</div> </div>
); );

View File

@ -49,11 +49,12 @@ export const GlossaryHeaderWidget = ({
return ( return (
<div className="p-x-md p-y-sm"> <div className="p-x-md p-y-sm">
<EntityHeader <EntityHeader
showName
breadcrumb={[ breadcrumb={[
{ name: 'Glossaries', url: '#', activeTitle: false }, { name: 'Glossaries', url: '#', activeTitle: false },
{ name: 'Glossary Term', url: '#', activeTitle: false }, { name: 'Glossary Term', url: '#', activeTitle: false },
]} ]}
entityData={{ name: 'Glossary Term' }} entityData={{ name: 'Glossary Term', displayName: 'Glossary Term' }}
entityType={EntityType.GLOSSARY_TERM} entityType={EntityType.GLOSSARY_TERM}
icon={icon} icon={icon}
serviceName="" serviceName=""

View File

@ -155,6 +155,7 @@ const TableDataCardV2: React.FC<TableDataCardPropsV2> = forwardRef<
)} )}
<Col flex="auto"> <Col flex="auto">
<EntityHeader <EntityHeader
showOnlyDisplayName
titleIsLink titleIsLink
breadcrumb={breadcrumbs} breadcrumb={breadcrumbs}
displayNameClassName={displayNameClassName} displayNameClassName={displayNameClassName}