From db64d1cb52cb3fc1c003db6e6d049edbe49bfd33 Mon Sep 17 00:00:00 2001 From: Katherine Date: Sat, 7 Dec 2024 23:18:02 +0800 Subject: [PATCH] fix: sub-table e2e test (#5823) * fix: sub-table e2e test * fix: test * fix: test * fix: test * fix: test * fix: test --- .../details-multi/__e2e__/schemaInitializer.test.ts | 2 +- .../form/__e2e__/form-create/schemaInitializer.test.ts | 6 +++--- .../form/__e2e__/form-create/schemaSettings.test.ts | 10 ++-------- .../data-blocks/table/__e2e__/schemaSettings.test.ts | 2 +- .../blocks/data-blocks/table/__e2e__/subTable.test.ts | 4 ++-- .../src/modules/variable/__e2e__/currentObject.test.ts | 2 +- .../src/modules/variable/__e2e__/parentObject.test.ts | 4 ++-- .../schema-component/antd/action/Action.Designer.tsx | 2 +- .../__e2e__/fields/manyToOne/schemaSettings.test.ts | 2 +- .../fields/singleLineText/schemaSettings.test.ts | 2 +- 10 files changed, 15 insertions(+), 21 deletions(-) diff --git a/packages/core/client/src/modules/blocks/data-blocks/details-multi/__e2e__/schemaInitializer.test.ts b/packages/core/client/src/modules/blocks/data-blocks/details-multi/__e2e__/schemaInitializer.test.ts index 46227a0882..42f32a51c8 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/details-multi/__e2e__/schemaInitializer.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/details-multi/__e2e__/schemaInitializer.test.ts @@ -113,7 +113,7 @@ test.describe('configure actions', () => { await page.getByLabel('schema-initializer-ActionBar-detailsWithPaging:configureActions-general').hover(); await page.getByRole('menuitem', { name: 'Edit' }).click(); await page.getByLabel('schema-initializer-ActionBar-detailsWithPaging:configureActions-general').hover(); - await page.getByRole('menuitem', { name: 'Delete' }).click(); + await page.getByText('Delete').click(); await page.mouse.move(300, 0); await expect(page.getByRole('button', { name: 'Edit' })).toBeVisible(); diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaInitializer.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaInitializer.test.ts index 3a33949cbb..db152e3eb2 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaInitializer.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaInitializer.test.ts @@ -131,7 +131,7 @@ test.describe('configure actions', () => { test('subTable: should clear form value after submit', async ({ page, mockPage }) => { await mockPage(T3106).goto(); - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect( page.getByLabel('block-item-CollectionField-users-form-users.nickname-Nickname').getByRole('textbox'), ).toHaveValue('test name'); @@ -143,7 +143,7 @@ test.describe('configure actions', () => { ).toBeHidden(); // 再次点击添加按钮,默认值应该正常显示出来 - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect( page.getByLabel('block-item-CollectionField-users-form-users.nickname-Nickname').getByRole('textbox'), ).toHaveValue('test name'); @@ -160,7 +160,7 @@ test.describe('configure actions', () => { .fill('123456'); // 2. 添加一行子表格数据,其中显示刚填入的值 - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect( page.getByLabel('block-item-CollectionField-roles-form-roles.name-Role UID').getByRole('textbox'), ).toHaveValue('123456'); diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts index 1756f34121..51b9d2b1b3 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts @@ -202,10 +202,7 @@ test.describe('set default value', () => { await page.mouse.move(300, 0); // 当新增一行时,应该显示默认值 - await page - .getByTestId('drawer-Action.Container-general-Add record') - .getByRole('button', { name: 'Add new' }) - .click(); + await page.getByTestId('drawer-Action.Container-general-Add record').locator('.nb-sub-table-addNew').click(); await expect( page .getByRole('cell', { name: 'block-item-CollectionField-users-form-users.nickname-Nickname' }) @@ -215,10 +212,7 @@ test.describe('set default value', () => { // https://nocobase.height.app/T-4028/description // 刷新页面后,默认值应该依然存在 await page.reload(); - await page - .getByTestId('drawer-Action.Container-general-Add record') - .getByRole('button', { name: 'Add new' }) - .click(); + await page.getByTestId('drawer-Action.Container-general-Add record').locator('.nb-sub-table-addNew').click(); await expect( page .getByRole('cell', { name: 'block-item-CollectionField-users-form-users.nickname-Nickname' }) diff --git a/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/schemaSettings.test.ts b/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/schemaSettings.test.ts index 3dfed1f5f8..7f954ab8db 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/schemaSettings.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/schemaSettings.test.ts @@ -992,7 +992,7 @@ test.describe('table column schema settings', () => { await nocoPage.goto(); // 1. 关系字段下拉框中应该有数据 - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await page.getByTestId('select-object-multiple').click(); await expect(page.getByRole('option', { name: record1.singleLineText, exact: true })).toBeVisible(); diff --git a/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/subTable.test.ts b/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/subTable.test.ts index 320d393c30..8241a5ae56 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/subTable.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/table/__e2e__/subTable.test.ts @@ -24,7 +24,7 @@ test.describe('subTable', () => { const expectedDateAfterModify = '2024-11-08'; // 1. Click "Add new" to add a row, default values should display correctly` - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect(page.getByTestId('select-object-single').getByText('Super Admin')).toBeVisible(); await expect( page.getByLabel('block-item-CollectionField-group-form-group.timeStart-').getByPlaceholder('Select date'), @@ -34,7 +34,7 @@ test.describe('subTable', () => { ).toHaveValue(expectedDateBeforeModify); // 2. Click "Add new" again to add another row, default values should display correctly - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect(page.getByTestId('select-object-single').getByText('Super Admin').nth(1)).toBeVisible(); await expect( page.getByLabel('block-item-CollectionField-group-form-group.timeStart-').nth(1).getByPlaceholder('Select date'), diff --git a/packages/core/client/src/modules/variable/__e2e__/currentObject.test.ts b/packages/core/client/src/modules/variable/__e2e__/currentObject.test.ts index ebab0daad8..61c2891a28 100644 --- a/packages/core/client/src/modules/variable/__e2e__/currentObject.test.ts +++ b/packages/core/client/src/modules/variable/__e2e__/currentObject.test.ts @@ -25,7 +25,7 @@ test.describe('variable: current object', () => { await page.getByRole('menuitemcheckbox', { name: 'Current object right' }).click(); await page.getByRole('menuitemcheckbox', { name: 'Role UID' }).click(); await page.getByRole('button', { name: 'OK', exact: true }).click(); - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await page.getByRole('row', { name: 'table-index-4 block-item-' }).getByRole('textbox').nth(1).fill('123456'); await expect(page.getByRole('row', { name: 'table-index-4 block-item-' }).getByRole('textbox').first()).toHaveValue( '123456', diff --git a/packages/core/client/src/modules/variable/__e2e__/parentObject.test.ts b/packages/core/client/src/modules/variable/__e2e__/parentObject.test.ts index f71ce93942..9e040459b4 100644 --- a/packages/core/client/src/modules/variable/__e2e__/parentObject.test.ts +++ b/packages/core/client/src/modules/variable/__e2e__/parentObject.test.ts @@ -37,7 +37,7 @@ test.describe('variable: parent object', () => { await page.getByRole('button', { name: 'OK' }).click(); // 3. 当更改当前表单中的 text1 字段后,text2 和 text3 字段应该也会被自动更改 - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await page .getByLabel('block-item-CollectionField-collection1-form-collection1.text1-text1') .getByRole('textbox') @@ -95,7 +95,7 @@ test.describe('variable: parent object', () => { await page.getByRole('button', { name: 'OK' }).click(); // 2. Assert: When the text1 field in the current form is changed, the text2 and text3 fields should also be automatically changed - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await page .getByLabel('block-item-CollectionField-collection1-form-collection1.text1-text1') .getByRole('textbox') diff --git a/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx b/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx index af8f27f27b..aa451c48a5 100644 --- a/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx +++ b/packages/core/client/src/schema-component/antd/action/Action.Designer.tsx @@ -716,7 +716,7 @@ export const actionSettingsItems: SchemaSettingOptions['items'] = [ 'duplicate', 'customize:create', ].includes(fieldSchema['x-action'] || ''); - return !isPopupAction && !fieldSchema?.['x-action-settings'].disableSecondConFirm; + return !isPopupAction && !fieldSchema?.['x-action-settings']?.disableSecondConFirm; }, }, { diff --git a/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/manyToOne/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/manyToOne/schemaSettings.test.ts index e7e8ebafe9..0e0794960b 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/manyToOne/schemaSettings.test.ts +++ b/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/manyToOne/schemaSettings.test.ts @@ -155,7 +155,7 @@ test.describe('table column & sub-table', () => { test('title field', async ({ page, mockPage }) => { await mockPage(T3377).goto(); - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await page.getByTestId('select-object-multiple').click(); // 下拉列表中应该有值 diff --git a/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/singleLineText/schemaSettings.test.ts b/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/singleLineText/schemaSettings.test.ts index c774359a4c..cae4f2ca3f 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/singleLineText/schemaSettings.test.ts +++ b/packages/plugins/@nocobase/plugin-data-source-main/src/client/__e2e__/fields/singleLineText/schemaSettings.test.ts @@ -138,7 +138,7 @@ test.describe('table column & sub-table in edit form', () => { unsupportedVariables: ['Parent popup record'], variableValue: ['Current user', 'Nickname'], expectVariableValue: async () => { - await page.getByRole('button', { name: 'Add new' }).click(); + await page.locator('.nb-sub-table-addNew').click(); await expect( page .getByLabel('block-item-CollectionField-general-form-general.singleLineText-singleLineText')