Browse Source

test(multi-field): field status check and delete using keyboard

pull/7408/head
Ramesh Mane 6 months ago
parent
commit
2ff1d05869
  1. 23
      tests/playwright/tests/db/features/multiFieldEditor.spec.ts

23
tests/playwright/tests/db/features/multiFieldEditor.spec.ts

@ -55,14 +55,19 @@ test.describe('Multi Field Editor', () => {
test('Add New field, update and reset ', async () => {
// Add New Field
await fields.createOrUpdate({ title: 'Name' });
await fields.createOrUpdate({ title: 'Name', saveChanges: false });
await expect(fields.getField({ title: 'Name' })).toContainText('New field');
await fields.saveChanges();
// Update Field title
await fields.getField({ title: 'Name' }).click();
await fields.createOrUpdate({ title: 'Updated Name', isUpdateMode: true });
await fields.createOrUpdate({ title: 'Updated Name', saveChanges: false, isUpdateMode: true });
await expect(fields.getField({ title: 'Updated Name' })).toContainText('Updated field');
await fields.saveChanges();
// verify grid column header
const fieldsText = await fields.getAllFieldText();
expect(fieldsText).toEqual(['Title', 'Updated Name']);
await verifyGridColumnHeaders({ fields: fieldsText });
// add new fields then reset changes and verify
@ -74,7 +79,7 @@ test.describe('Multi Field Editor', () => {
await verifyGridColumnHeaders({ fields: fieldsText });
});
test('Field operations: CopyId, Duplicate, InsertAbove, InsertBelow, Hide', async () => {
test('Field operations: CopyId, Duplicate, InsertAbove, InsertBelow, Delete, Hide', async () => {
// Add New Field
await fields.createOrUpdate({ title: defaultFieldName });
@ -95,11 +100,21 @@ test.describe('Multi Field Editor', () => {
await fields.createOrUpdate({ title: 'Below Inserted Field', insertBelowColumnTitle: defaultFieldName });
// delete and verify
// By field action menu
await fields.selectFieldAction({ title: `${defaultFieldName}_copy`, action: 'delete' });
await expect(fields.getField({ title: `${defaultFieldName}_copy` })).toContainText('Deleted field');
// By keyboard delete button
await fields.getField({ title: 'Above Inserted Field' }).click();
await dashboard.rootPage.keyboard.press((await dashboard.isMacOs()) ? 'Meta+Delete' : 'Delete');
await expect(fields.getField({ title: 'Above Inserted Field' })).toContainText('Deleted field');
await fields.saveChanges();
fieldsText = await fields.getAllFieldText();
expect(fieldsText.findIndex(field => field === `${defaultFieldName}_copy`)).toBe(-1);
expect(
fieldsText.every(field => !['Above Inserted Field', `${defaultFieldName}_copy`].includes(field))
).toBeTruthy();
// verify grid column header
await verifyGridColumnHeaders({ fields: fieldsText });

Loading…
Cancel
Save