From 779c11eec0987729b1be87f9f2e9f578c7b6c0a7 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Tue, 2 Aug 2022 10:38:14 -0400 Subject: [PATCH] 19305: Add cypress tests for edit project via breadcrumbs Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- cypress/integration/project.spec.js | 33 +++++++++++++++++++ .../resource-properties-list.tsx | 4 +-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/cypress/integration/project.spec.js b/cypress/integration/project.spec.js index c4983e3e..b2f6f33d 100644 --- a/cypress/integration/project.spec.js +++ b/cypress/integration/project.spec.js @@ -85,6 +85,39 @@ describe('Project tests', function() { // Pink is not in the test vocab {IDTAGCOLORS: ['IDVALCOLORS3', 'Pink', 'IDVALCOLORS1']}); }); + + // Open project edit via breadcrumbs + cy.get('[data-cy=breadcrumbs]').contains(projName).rightclick(); + cy.get('[data-cy=context-menu]').contains('Edit').click(); + cy.get('[data-cy=form-dialog]').within(() => { + cy.get('[data-cy=resource-properties-list]').within(() => { + cy.get('div[role=button]').contains('Color: Magenta'); + cy.get('div[role=button]').contains('Color: Pink'); + cy.get('div[role=button]').contains('Color: Yellow'); + }); + }); + // Add another property + cy.get('[data-cy=resource-properties-form]').within(() => { + cy.get('[data-cy=property-field-key]').within(() => { + cy.get('input').type('Animal'); + }); + cy.get('[data-cy=property-field-value]').within(() => { + cy.get('input').type('Dog'); + }); + cy.root().submit(); + }); + cy.get('[data-cy=form-submit-btn]').click(); + // Reopen edit via breadcrumbs and verify properties + cy.get('[data-cy=breadcrumbs]').contains(projName).rightclick(); + cy.get('[data-cy=context-menu]').contains('Edit').click(); + cy.get('[data-cy=form-dialog]').within(() => { + cy.get('[data-cy=resource-properties-list]').within(() => { + cy.get('div[role=button]').contains('Color: Magenta'); + cy.get('div[role=button]').contains('Color: Pink'); + cy.get('div[role=button]').contains('Color: Yellow'); + cy.get('div[role=button]').contains('Animal: Dog'); + }); + }); }); it('creates new project on home project and then a subproject inside it', function() { diff --git a/src/views-components/resource-properties/resource-properties-list.tsx b/src/views-components/resource-properties/resource-properties-list.tsx index a7b58252..47d7729b 100644 --- a/src/views-components/resource-properties/resource-properties-list.tsx +++ b/src/views-components/resource-properties/resource-properties-list.tsx @@ -38,7 +38,7 @@ ResourcePropertiesListActionProps & WithStyles; const List = withStyles(styles)( ({ classes, handleDelete, properties }: ResourcePropertiesListProps) => -
+
{properties && Object.keys(properties).map(k => Array.isArray(properties[k]) @@ -63,4 +63,4 @@ export const resourcePropertiesList = (formName: string) => (dispatch: Dispatch): ResourcePropertiesListActionProps => ({ handleDelete: (key: string, value: string) => dispatch(removePropertyFromResourceForm(key, value, formName)) }) - )(List); \ No newline at end of file + )(List); -- 2.30.2