cy.clearLocalStorage();
});
- it('creates a new project with properties', function() {
+ it('creates a new project with multiple properties', function() {
const projName = `Test project (${Math.floor(999999 * Math.random())})`;
cy.loginAs(activeUser);
cy.get('[data-cy=side-panel-button]').click();
cy.get('input').type('Magenta');
});
cy.root().submit();
+ cy.get('[data-cy=property-field-value]').within(() => {
+ cy.get('input').type('Pink');
+ });
+ cy.root().submit();
+ cy.get('[data-cy=property-field-value]').within(() => {
+ cy.get('input').type('Yellow');
+ });
+ cy.root().submit();
});
// Confirm proper vocabulary labels are displayed on the UI.
cy.get('[data-cy=form-dialog]').should('contain', 'Color: Magenta');
+ cy.get('[data-cy=form-dialog]').should('contain', 'Color: Pink');
+ cy.get('[data-cy=form-dialog]').should('contain', 'Color: Yellow');
+
+ cy.get('[data-cy=resource-properties-form]').within(() => {
+ cy.get('[data-cy=property-field-key]').within(() => {
+ cy.get('input').focus();
+ });
+ cy.get('[data-cy=property-field-key]').should('not.contain', 'Color');
+ });
// Create project and confirm the properties' real values.
cy.get('[data-cy=form-submit-btn]').click();
.then(function() {
expect(this.projects).to.have.lengthOf(1);
expect(this.projects[0].properties).to.deep.equal(
- {IDTAGCOLORS: 'IDVALCOLORS3'});
+ // 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');
+ });
});
});
cy.getAll('@mainProject')
.then(function ([mainProject]) {
cy.loginAs(adminUser);
-
+
cy.get('[data-cy=side-panel-tree]').contains('Groups').click();
cy.get('[data-cy=uuid]').eq(0).invoke('text').then(uuid => {
cy.get('main').contains(projectName).rightclick();
- cy.get('[data-cy=context-menu]').contains('Advanced').click();
+ cy.get('[data-cy=context-menu]').contains('API Details').click();
cy.get('[role=tablist]').contains('METADATA').click();
});
});
});
-});
\ No newline at end of file
+});