mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-03 20:19:31 +00:00 
			
		
		
		
	fix aut activity feed for 1.5.5 (#17943)
* fix aut activity feed for 1.5.5 * fix failure test * fix: custom property spec * refactor: Update clickOutside function usage in customProperty.ts --------- Co-authored-by: Sachin Chaurasiya <sachinchaurasiyachotey87@gmail.com> (cherry picked from commit 9ed21cec4a175a6e8ae1e616b55ea31536033312)
This commit is contained in:
		
							parent
							
								
									5ce631a84d
								
							
						
					
					
						commit
						13a0bc4ed1
					
				@ -360,7 +360,9 @@ test.describe('Activity feed', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    await checkDescriptionInEditModal(page, secondTaskValue);
 | 
					    await checkDescriptionInEditModal(page, secondTaskValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const resolveTask = page.waitForResponse('/api/v1/feed/tasks/*/resolve');
 | 
				
			||||||
    await page.getByText('OK').click();
 | 
					    await page.getByText('OK').click();
 | 
				
			||||||
 | 
					    await resolveTask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await toastNotification(page, /Task resolved successfully/);
 | 
					    await toastNotification(page, /Task resolved successfully/);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -394,17 +396,15 @@ test.describe('Activity feed', () => {
 | 
				
			|||||||
    expect(descriptionTask).toContain('Request to update description');
 | 
					    expect(descriptionTask).toContain('Request to update description');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Check the editor send button is not visible and comment button is disabled when no text is added
 | 
					    // Check the editor send button is not visible and comment button is disabled when no text is added
 | 
				
			||||||
    expect(page.locator('[data-testid="send-button"]')).not.toBeVisible();
 | 
					    await expect(page.locator('[data-testid="send-button"]')).not.toBeVisible();
 | 
				
			||||||
    expect(
 | 
					    await expect(page.locator('[data-testid="comment-button"]')).toBeDisabled();
 | 
				
			||||||
      await page.locator('[data-testid="comment-button"]').isDisabled()
 | 
					 | 
				
			||||||
    ).toBeTruthy();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await page.fill(
 | 
					    await page.fill(
 | 
				
			||||||
      '[data-testid="editor-wrapper"] .ql-editor',
 | 
					      '[data-testid="editor-wrapper"] .ql-editor',
 | 
				
			||||||
      'Test comment added'
 | 
					      'Test comment added'
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
    const addComment = page.waitForResponse('/api/v1/feed/*/posts');
 | 
					    const addComment = page.waitForResponse('/api/v1/feed/*/posts');
 | 
				
			||||||
    await page.getByTestId('comment-button').click({ force: true });
 | 
					    await page.getByTestId('comment-button').click();
 | 
				
			||||||
    await addComment;
 | 
					    await addComment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Close the task from the Button.Group, should throw error when no comment is added.
 | 
					    // Close the task from the Button.Group, should throw error when no comment is added.
 | 
				
			||||||
@ -451,10 +451,12 @@ test.describe('Activity feed', () => {
 | 
				
			|||||||
    await page.getByTestId('request-description').click();
 | 
					    await page.getByTestId('request-description').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // create description task
 | 
					    // create description task
 | 
				
			||||||
 | 
					    const waitForCountFetch1 = page.waitForResponse('/api/v1/feed/count?**');
 | 
				
			||||||
    const openTaskAfterDescriptionResponse =
 | 
					    const openTaskAfterDescriptionResponse =
 | 
				
			||||||
      page.waitForResponse(TASK_OPEN_FETCH_LINK);
 | 
					      page.waitForResponse(TASK_OPEN_FETCH_LINK);
 | 
				
			||||||
    await createDescriptionTask(page, value);
 | 
					    await createDescriptionTask(page, value);
 | 
				
			||||||
    await openTaskAfterDescriptionResponse;
 | 
					    await openTaskAfterDescriptionResponse;
 | 
				
			||||||
 | 
					    await waitForCountFetch1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // open task count after description
 | 
					    // open task count after description
 | 
				
			||||||
    const openTask1 = await page.getByTestId('open-task').textContent();
 | 
					    const openTask1 = await page.getByTestId('open-task').textContent();
 | 
				
			||||||
@ -466,11 +468,11 @@ test.describe('Activity feed', () => {
 | 
				
			|||||||
    await page.getByTestId('request-entity-tags').click();
 | 
					    await page.getByTestId('request-entity-tags').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // create tag task
 | 
					    // create tag task
 | 
				
			||||||
    const waitForCountFetch = page.waitForResponse('/api/v1/feed/count?**');
 | 
					    const waitForCountFetch2 = page.waitForResponse('/api/v1/feed/count?**');
 | 
				
			||||||
    const openTaskAfterTagResponse = page.waitForResponse(TASK_OPEN_FETCH_LINK);
 | 
					    const openTaskAfterTagResponse = page.waitForResponse(TASK_OPEN_FETCH_LINK);
 | 
				
			||||||
    await createTagTask(page, { ...value, tag: 'PII.None' });
 | 
					    await createTagTask(page, { ...value, tag: 'PII.None' });
 | 
				
			||||||
    await openTaskAfterTagResponse;
 | 
					    await openTaskAfterTagResponse;
 | 
				
			||||||
    await waitForCountFetch;
 | 
					    await waitForCountFetch2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // open task count after description
 | 
					    // open task count after description
 | 
				
			||||||
    await checkTaskCount(page, 2, 0);
 | 
					    await checkTaskCount(page, 2, 0);
 | 
				
			||||||
@ -490,9 +492,9 @@ test.describe('Activity feed', () => {
 | 
				
			|||||||
    await page.getByRole('menuitem', { name: 'close' }).click();
 | 
					    await page.getByRole('menuitem', { name: 'close' }).click();
 | 
				
			||||||
    await commentWithCloseTask;
 | 
					    await commentWithCloseTask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const waitForCountFetch2 = page.waitForResponse('/api/v1/feed/count?**');
 | 
					    const waitForCountFetch3 = page.waitForResponse('/api/v1/feed/count?**');
 | 
				
			||||||
    await toastNotification(page, 'Task closed successfully.');
 | 
					    await toastNotification(page, 'Task closed successfully.');
 | 
				
			||||||
    await waitForCountFetch2;
 | 
					    await waitForCountFetch3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // open task count after closing one task
 | 
					    // open task count after closing one task
 | 
				
			||||||
    await checkTaskCount(page, 1, 1);
 | 
					    await checkTaskCount(page, 1, 1);
 | 
				
			||||||
@ -601,10 +603,6 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
      resources: ['All'],
 | 
					      resources: ['All'],
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
  const viewAllUser = new UserClass();
 | 
					 | 
				
			||||||
  const viewAllPolicy = new PolicyClass();
 | 
					 | 
				
			||||||
  const viewAllRoles = new RolesClass();
 | 
					 | 
				
			||||||
  let viewAllTeam: TeamClass;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  base.beforeAll('Setup pre-requests', async ({ browser }) => {
 | 
					  base.beforeAll('Setup pre-requests', async ({ browser }) => {
 | 
				
			||||||
    const { afterAction, apiContext } = await performAdminLogin(browser);
 | 
					    const { afterAction, apiContext } = await performAdminLogin(browser);
 | 
				
			||||||
@ -614,20 +612,6 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
    await entity3.create(apiContext);
 | 
					    await entity3.create(apiContext);
 | 
				
			||||||
    await user1.create(apiContext);
 | 
					    await user1.create(apiContext);
 | 
				
			||||||
    await user2.create(apiContext);
 | 
					    await user2.create(apiContext);
 | 
				
			||||||
    await viewAllUser.create(apiContext);
 | 
					 | 
				
			||||||
    await viewAllPolicy.create(apiContext, rules);
 | 
					 | 
				
			||||||
    await viewAllRoles.create(apiContext, [viewAllPolicy.responseData.name]);
 | 
					 | 
				
			||||||
    viewAllTeam = new TeamClass({
 | 
					 | 
				
			||||||
      name: `PW%team-${id}`,
 | 
					 | 
				
			||||||
      displayName: `PW Team ${id}`,
 | 
					 | 
				
			||||||
      description: 'playwright team description',
 | 
					 | 
				
			||||||
      teamType: 'Group',
 | 
					 | 
				
			||||||
      users: [viewAllUser.responseData.id],
 | 
					 | 
				
			||||||
      defaultRoles: viewAllRoles.responseData.id
 | 
					 | 
				
			||||||
        ? [viewAllRoles.responseData.id]
 | 
					 | 
				
			||||||
        : [],
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
    await viewAllTeam.create(apiContext);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await afterAction();
 | 
					    await afterAction();
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
@ -639,10 +623,6 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
    await entity3.delete(apiContext);
 | 
					    await entity3.delete(apiContext);
 | 
				
			||||||
    await user1.delete(apiContext);
 | 
					    await user1.delete(apiContext);
 | 
				
			||||||
    await user2.delete(apiContext);
 | 
					    await user2.delete(apiContext);
 | 
				
			||||||
    await viewAllUser.delete(apiContext);
 | 
					 | 
				
			||||||
    await viewAllPolicy.delete(apiContext);
 | 
					 | 
				
			||||||
    await viewAllRoles.delete(apiContext);
 | 
					 | 
				
			||||||
    await viewAllTeam.delete(apiContext);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await afterAction();
 | 
					    await afterAction();
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
@ -937,7 +917,29 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  base(
 | 
					  base(
 | 
				
			||||||
    'Accepting task should throw error for not having edit permission',
 | 
					    'Accepting task should throw error for not having edit permission',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async ({ browser }) => {
 | 
					    async ({ browser }) => {
 | 
				
			||||||
 | 
					      const { afterAction, apiContext } = await performAdminLogin(browser);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const viewAllUser = new UserClass();
 | 
				
			||||||
 | 
					      const viewAllPolicy = new PolicyClass();
 | 
				
			||||||
 | 
					      const viewAllRoles = new RolesClass();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      await viewAllUser.create(apiContext);
 | 
				
			||||||
 | 
					      await viewAllPolicy.create(apiContext, rules);
 | 
				
			||||||
 | 
					      await viewAllRoles.create(apiContext, [viewAllPolicy.responseData.name]);
 | 
				
			||||||
 | 
					      const viewAllTeam = new TeamClass({
 | 
				
			||||||
 | 
					        name: `PW%team-${id}`,
 | 
				
			||||||
 | 
					        displayName: `PW Team ${id}`,
 | 
				
			||||||
 | 
					        description: 'playwright team description',
 | 
				
			||||||
 | 
					        teamType: 'Group',
 | 
				
			||||||
 | 
					        users: [viewAllUser.responseData.id],
 | 
				
			||||||
 | 
					        defaultRoles: viewAllRoles.responseData.id
 | 
				
			||||||
 | 
					          ? [viewAllRoles.responseData.id]
 | 
				
			||||||
 | 
					          : [],
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      await viewAllTeam.create(apiContext);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      const { page: page1, afterAction: afterActionUser1 } =
 | 
					      const { page: page1, afterAction: afterActionUser1 } =
 | 
				
			||||||
        await performUserLogin(browser, user1);
 | 
					        await performUserLogin(browser, user1);
 | 
				
			||||||
      const { page: page2, afterAction: afterActionUser2 } =
 | 
					      const { page: page2, afterAction: afterActionUser2 } =
 | 
				
			||||||
@ -948,6 +950,7 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
        assignee: viewAllUser.responseData.name,
 | 
					        assignee: viewAllUser.responseData.name,
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      try {
 | 
				
			||||||
        await base.step('Create and Assign Task to user 3', async () => {
 | 
					        await base.step('Create and Assign Task to user 3', async () => {
 | 
				
			||||||
          await redirectToHomePage(page1);
 | 
					          await redirectToHomePage(page1);
 | 
				
			||||||
          await entity3.visitEntityPage(page1);
 | 
					          await entity3.visitEntityPage(page1);
 | 
				
			||||||
@ -968,7 +971,11 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            await page2.getByTestId('activity_feed').click();
 | 
					            await page2.getByTestId('activity_feed').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const taskResponse = page2.waitForResponse(
 | 
				
			||||||
 | 
					              '/api/v1/feed?entityLink=**type=Task&taskStatus=Open'
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
            await page2.getByRole('menuitem', { name: 'Tasks' }).click();
 | 
					            await page2.getByRole('menuitem', { name: 'Tasks' }).click();
 | 
				
			||||||
 | 
					            await taskResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await page2.getByText('Accept Suggestion').click();
 | 
					            await page2.getByText('Accept Suggestion').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -981,6 +988,14 @@ base.describe('Activity feed with Data Consumer User', () => {
 | 
				
			|||||||
            await afterActionUser2();
 | 
					            await afterActionUser2();
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					      } finally {
 | 
				
			||||||
 | 
					        await viewAllUser.delete(apiContext);
 | 
				
			||||||
 | 
					        await viewAllPolicy.delete(apiContext);
 | 
				
			||||||
 | 
					        await viewAllRoles.delete(apiContext);
 | 
				
			||||||
 | 
					        await viewAllTeam.delete(apiContext);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        await afterAction();
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,12 @@ export const checkDescriptionInEditModal = async (
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const deleteFeedComments = async (page: Page, feed: Locator) => {
 | 
					export const deleteFeedComments = async (page: Page, feed: Locator) => {
 | 
				
			||||||
  await feed.click();
 | 
					  await feed.locator('.feed-reply-card-v2').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  await page.waitForSelector('[data-testid="feed-actions"]', {
 | 
				
			||||||
 | 
					    state: 'visible',
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  await page.locator('[data-testid="delete-message"]').click();
 | 
					  await page.locator('[data-testid="delete-message"]').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  await page.waitForSelector('[role="dialog"].ant-modal');
 | 
					  await page.waitForSelector('[role="dialog"].ant-modal');
 | 
				
			||||||
@ -88,14 +93,21 @@ export const reactOnFeed = async (page: Page) => {
 | 
				
			|||||||
    await page
 | 
					    await page
 | 
				
			||||||
      .locator('.ant-popover-feed-reactions .ant-popover-inner-content')
 | 
					      .locator('.ant-popover-feed-reactions .ant-popover-inner-content')
 | 
				
			||||||
      .waitFor({ state: 'visible' });
 | 
					      .waitFor({ state: 'visible' });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const waitForReactionResponse = page.waitForResponse('/api/v1/feed/*');
 | 
				
			||||||
    await page
 | 
					    await page
 | 
				
			||||||
      .locator(`[data-testid="reaction-button"][title="${reaction}"]`)
 | 
					      .locator(`[data-testid="reaction-button"][title="${reaction}"]`)
 | 
				
			||||||
      .click();
 | 
					      .click();
 | 
				
			||||||
 | 
					    await waitForReactionResponse;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const addMentionCommentInFeed = async (page: Page, user: string) => {
 | 
					export const addMentionCommentInFeed = async (page: Page, user: string) => {
 | 
				
			||||||
 | 
					  const fetchFeedResponse = page.waitForResponse(
 | 
				
			||||||
 | 
					    '/api/v1/feed?type=Conversation*'
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
  await removeLandingBanner(page);
 | 
					  await removeLandingBanner(page);
 | 
				
			||||||
 | 
					  await fetchFeedResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Click on add reply
 | 
					  // Click on add reply
 | 
				
			||||||
  const feedResponse = page.waitForResponse('/api/v1/feed/*');
 | 
					  const feedResponse = page.waitForResponse('/api/v1/feed/*');
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@ import {
 | 
				
			|||||||
  ENTITY_PATH,
 | 
					  ENTITY_PATH,
 | 
				
			||||||
} from '../support/entity/Entity.interface';
 | 
					} from '../support/entity/Entity.interface';
 | 
				
			||||||
import { UserClass } from '../support/user/UserClass';
 | 
					import { UserClass } from '../support/user/UserClass';
 | 
				
			||||||
import { descriptionBox, uuid } from './common';
 | 
					import { clickOutside, descriptionBox, uuid } from './common';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export enum CustomPropertyType {
 | 
					export enum CustomPropertyType {
 | 
				
			||||||
  STRING = 'String',
 | 
					  STRING = 'String',
 | 
				
			||||||
@ -111,7 +111,7 @@ export const setValueForProperty = async (data: {
 | 
				
			|||||||
      await page.click('#enumValues');
 | 
					      await page.click('#enumValues');
 | 
				
			||||||
      await page.fill('#enumValues', value);
 | 
					      await page.fill('#enumValues', value);
 | 
				
			||||||
      await page.press('#enumValues', 'Enter');
 | 
					      await page.press('#enumValues', 'Enter');
 | 
				
			||||||
      await page.mouse.click(0, 0);
 | 
					      await clickOutside(page);
 | 
				
			||||||
      await page.click('[data-testid="inline-save-btn"]');
 | 
					      await page.click('[data-testid="inline-save-btn"]');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
@ -543,8 +543,8 @@ export const addCustomPropertiesForEntity = async ({
 | 
				
			|||||||
      await page.click('#root\\/enumConfig');
 | 
					      await page.click('#root\\/enumConfig');
 | 
				
			||||||
      await page.fill('#root\\/enumConfig', val);
 | 
					      await page.fill('#root\\/enumConfig', val);
 | 
				
			||||||
      await page.press('#root\\/enumConfig', 'Enter');
 | 
					      await page.press('#root\\/enumConfig', 'Enter');
 | 
				
			||||||
      await page.mouse.click(0, 0);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    await clickOutside(page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (enumConfig.multiSelect) {
 | 
					    if (enumConfig.multiSelect) {
 | 
				
			||||||
      await page.click('#root\\/multiSelect');
 | 
					      await page.click('#root\\/multiSelect');
 | 
				
			||||||
@ -621,14 +621,14 @@ export const editCreatedProperty = async (
 | 
				
			|||||||
    await page.click('#root\\/customPropertyConfig');
 | 
					    await page.click('#root\\/customPropertyConfig');
 | 
				
			||||||
    await page.fill('#root\\/customPropertyConfig', 'updatedValue');
 | 
					    await page.fill('#root\\/customPropertyConfig', 'updatedValue');
 | 
				
			||||||
    await page.press('#root\\/customPropertyConfig', 'Enter');
 | 
					    await page.press('#root\\/customPropertyConfig', 'Enter');
 | 
				
			||||||
    await page.mouse.click(0, 0);
 | 
					    await clickOutside(page);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (ENTITY_REFERENCE_PROPERTIES.includes(type ?? '')) {
 | 
					  if (ENTITY_REFERENCE_PROPERTIES.includes(type ?? '')) {
 | 
				
			||||||
    await page.click('#root\\/customPropertyConfig');
 | 
					    await page.click('#root\\/customPropertyConfig');
 | 
				
			||||||
    await page.fill('#root\\/customPropertyConfig', 'Table');
 | 
					    await page.fill('#root\\/customPropertyConfig', 'Table');
 | 
				
			||||||
    await page.press('#root\\/customPropertyConfig', 'Enter');
 | 
					    await page.press('#root\\/customPropertyConfig', 'Enter');
 | 
				
			||||||
    await page.mouse.click(0, 0);
 | 
					    await clickOutside(page);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const patchRequest = page.waitForResponse('/api/v1/metadata/types/*');
 | 
					  const patchRequest = page.waitForResponse('/api/v1/metadata/types/*');
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@
 | 
				
			|||||||
 *  limitations under the License.
 | 
					 *  limitations under the License.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import { expect, Page } from '@playwright/test';
 | 
					import { expect, Page } from '@playwright/test';
 | 
				
			||||||
import { lowerCase } from 'lodash';
 | 
					import { isEmpty, lowerCase } from 'lodash';
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
  customFormatDateTime,
 | 
					  customFormatDateTime,
 | 
				
			||||||
  getCurrentMillis,
 | 
					  getCurrentMillis,
 | 
				
			||||||
@ -325,7 +325,11 @@ export const updateDescription = async (page: Page, description: string) => {
 | 
				
			|||||||
  await page.locator('.ProseMirror').first().fill(description);
 | 
					  await page.locator('.ProseMirror').first().fill(description);
 | 
				
			||||||
  await page.getByTestId('save').click();
 | 
					  await page.getByTestId('save').click();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  await expect(
 | 
					  isEmpty(description)
 | 
				
			||||||
 | 
					    ? await expect(
 | 
				
			||||||
 | 
					        page.getByTestId('asset-description-container')
 | 
				
			||||||
 | 
					      ).toContainText('No description')
 | 
				
			||||||
 | 
					    : await expect(
 | 
				
			||||||
        page.getByTestId('asset-description-container').getByRole('paragraph')
 | 
					        page.getByTestId('asset-description-container').getByRole('paragraph')
 | 
				
			||||||
      ).toContainText(description);
 | 
					      ).toContainText(description);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user