Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -81,20 +81,12 @@ import { selectActiveGlossaryTerm } from '../../utils/glossary';
import { sidebarClick } from '../../utils/sidebar';
import { selectTagInTagSuggestion } from '../../utils/tag';
import { performUserLogin, visitUserProfilePage } from '../../utils/user';
const user = new UserClass();

const domain = new Domain();

const classification = new ClassificationClass({
provider: 'system',
mutuallyExclusive: true,
});
const tag = new TagClass({
classification: classification.data.name,
});

const glossary = new Glossary();
const glossaryTerm = new GlossaryTerm(glossary);
let user: UserClass;
let domain: Domain;
let classification: ClassificationClass;
let tag: TagClass;
let glossary: Glossary;
let glossaryTerm: GlossaryTerm;

const test = base.extend<{
page: Page;
Expand All @@ -119,6 +111,16 @@ test.describe('Domains', () => {
test.beforeAll('Setup pre-requests', async ({ browser }) => {
test.slow(true);

user = new UserClass();
domain = new Domain();
classification = new ClassificationClass({
provider: 'system',
mutuallyExclusive: true,
});
tag = new TagClass({ classification: classification.data.name });
glossary = new Glossary();
glossaryTerm = new GlossaryTerm(glossary);

const { apiContext, afterAction } = await performAdminLogin(browser);
await user.create(apiContext);
await classification.create(apiContext);
Expand Down Expand Up @@ -2669,12 +2671,16 @@ test.describe('Domain Rename Comprehensive Tests', () => {
test.describe('Domains Rbac', () => {
test.slow(true);

const domain1 = new Domain();
const domain2 = new Domain();
const domain3 = new Domain();
const user1 = new UserClass();
let domain1: Domain;
let domain2: Domain;
let domain3: Domain;
let user1: UserClass;

test.beforeAll('Setup pre-requests', async ({ browser }) => {
domain1 = new Domain();
domain2 = new Domain();
domain3 = new Domain();
user1 = new UserClass();
test.slow();

const { apiContext, afterAction, page } = await performAdminLogin(browser);
Expand Down Expand Up @@ -2815,15 +2821,10 @@ test.describe('Domains Rbac', () => {
test.describe('Data Consumer Domain Ownership', () => {
test.slow(true);

const classification = new ClassificationClass({
provider: 'system',
mutuallyExclusive: true,
});
const tag = new TagClass({
classification: classification.data.name,
});
const glossary = new Glossary();
const glossaryTerm = new GlossaryTerm(glossary);
let classification: ClassificationClass;
let tag: TagClass;
let glossary: Glossary;
let glossaryTerm: GlossaryTerm;

let testResources: {
dataConsumerUser: UserClass;
Expand All @@ -2833,6 +2834,14 @@ test.describe('Data Consumer Domain Ownership', () => {
};

test.beforeAll('Setup pre-requests', async ({ browser }) => {
classification = new ClassificationClass({
provider: 'system',
mutuallyExclusive: true,
});
tag = new TagClass({ classification: classification.data.name });
glossary = new Glossary();
glossaryTerm = new GlossaryTerm(glossary);

const { apiContext, afterAction } = await performAdminLogin(browser);
await classification.create(apiContext);
await tag.create(apiContext);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -532,9 +532,9 @@ test.describe('Glossary tests', () => {
const glossaryRequest = page.waitForResponse(
`/api/v1/search/query?q=*&index=glossaryTerm&from=0&size=25&deleted=false&track_total_hits=true&getHierarchy=true`
);
await page.type(
await page.fill(
'[data-testid="tag-selector"] #tagsForm_tags',
glossaryTerm1.data.name
glossary1.data.name
);
await glossaryRequest;

Expand All @@ -551,9 +551,9 @@ test.describe('Glossary tests', () => {
const glossaryRequest2 = page.waitForResponse(
`/api/v1/search/query?q=*&index=glossaryTerm&from=0&size=25&deleted=false&track_total_hits=true&getHierarchy=true`
);
await page.type(
await page.fill(
'[data-testid="tag-selector"] #tagsForm_tags',
glossaryTerm2.data.name
glossary1.data.name
);
await glossaryRequest2;

Expand All @@ -578,7 +578,7 @@ test.describe('Glossary tests', () => {

// Add non mutually exclusive tags
await page.click(
'[data-testid="KnowledgePanel.GlossaryTerms"] [data-testid="glossary-container"] [data-testid="add-tag"]'
'[data-testid="KnowledgePanel.GlossaryTerms"] [data-testid="glossary-container"] [data-testid="edit-button"]'
);

// Select 1st term
Expand All @@ -587,9 +587,9 @@ test.describe('Glossary tests', () => {
const glossaryRequest3 = page.waitForResponse(
`/api/v1/search/query?q=*&index=glossaryTerm&from=0&size=25&deleted=false&track_total_hits=true&getHierarchy=true`
);
await page.type(
await page.fill(
'[data-testid="tag-selector"] #tagsForm_tags',
glossaryTerm3.data.name
glossary2.data.name
);
await glossaryRequest3;

Expand All @@ -606,9 +606,9 @@ test.describe('Glossary tests', () => {
const glossaryRequest4 = page.waitForResponse(
`/api/v1/search/query?q=*&index=glossaryTerm&from=0&size=25&deleted=false&track_total_hits=true&getHierarchy=true`
);
await page.type(
await page.fill(
'[data-testid="tag-selector"] #tagsForm_tags',
glossaryTerm4.data.name
glossary2.data.name
);
await glossaryRequest4;

Expand Down Expand Up @@ -648,7 +648,7 @@ test.describe('Glossary tests', () => {
'[data-testid="KnowledgePanel.GlossaryTerms"] [data-testid="glossary-container"] [data-testid="glossary-icon"]'
);

expect(await icons.count()).toBe(2);
expect(await icons.count()).toBe(3);

// Add Glossary to Dashboard Charts
await page.click(
Expand All @@ -660,7 +660,7 @@ test.describe('Glossary tests', () => {
const glossaryRequest5 = page.waitForResponse(
`/api/v1/search/query?q=*&index=glossaryTerm&from=0&size=25&deleted=false&track_total_hits=true&getHierarchy=true`
);
await page.type(
await page.fill(
'[data-testid="tag-selector"] #tagsForm_tags',
glossaryTerm3.data.name
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import { TeamClass } from '../../support/team/TeamClass';
import { UserClass } from '../../support/user/UserClass';
import { createAdminApiContext, performAdminLogin } from '../../utils/admin';
import {
getApiContext,
redirectToHomePage,
toastNotification,
uuid,
Expand Down
33 changes: 21 additions & 12 deletions openmetadata-ui/src/main/resources/ui/playwright/utils/domain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1644,34 +1644,43 @@ export const selectDomainFromNavbar = async (
page: Page,
domain: Domain['responseData']
) => {
await page.getByTestId('domain-dropdown').click();
const domainDropdown = page.getByTestId('domain-dropdown');
const domainTree = page.getByTestId('domain-selectable-tree');
await domainTree.waitFor({
state: 'visible',
});
const searchBar = domainTree.getByTestId('searchbar');
const searchTerm = domain.displayName ?? domain.name;
const domainOption = page.getByTestId(`tag-${domain.fullyQualifiedName}`);

const openDropdown = async () => {
await domainDropdown.click();
await domainTree.waitFor({ state: 'visible' });
};

await openDropdown();

const searchBar = domainTree.locator('input[placeholder]').first();

await expect
.poll(
async () => {
if (!(await domainTree.isVisible().catch(() => false))) {
await page.getByTestId('domain-dropdown').click();
await domainTree.waitFor({ state: 'visible' });
await openDropdown();
}

await searchBar.fill('');
await searchBar.fill(searchTerm);
const isSearchBarVisible = await searchBar
.isVisible()
.catch(() => false);

if (isSearchBarVisible) {
await searchBar.focus();
await searchBar.press('Control+a');
await searchBar.pressSequentially(searchTerm);
}

return await domainOption.isVisible().catch(() => false);
},
{
timeout: 60000,
intervals: [1000, 2000, 5000],
message: `Timed out waiting for domain ${
domain.displayName ?? domain.name
} to appear in navbar selector`,
message: `Timed out waiting for domain ${searchTerm} to appear in navbar selector`,
}
)
.toBe(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export const mockEntitySearchConfig = {
assetType: 'table',
searchFields: [
{ field: 'displayName.keyword', boost: 20, matchType: 'exact' },
{ field: 'name.keyword', boost: 20, matchType: 'exact' },
{ field: 'name', boost: 10, matchType: 'phrase' },
{ field: 'name.ngram', boost: 1, matchType: 'fuzzy' },
{ field: 'name.compound', boost: 8, matchType: 'standard' },
Expand Down
Loading