X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fcbcbbb978fbb0d381c23a2ac204940c1c80dda3..f40add991a9557c2cb692f59a78ab3f2bd98121f:/cypress/integration/side-panel.spec.js diff --git a/cypress/integration/side-panel.spec.js b/cypress/integration/side-panel.spec.js index 95b564007c..40f39144ec 100644 --- a/cypress/integration/side-panel.spec.js +++ b/cypress/integration/side-panel.spec.js @@ -75,4 +75,68 @@ describe('Side panel tests', function() { .and('be.disabled'); }) }) + + it('creates new collection on home project', function() { + cy.loginAs(activeUser); + cy.visit(`/projects/${activeUser.user.uuid}`); + cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects'); + cy.get('[data-cy=breadcrumb-last]').should('not.exist'); + // Create new collection + cy.get('[data-cy=side-panel-button]').click(); + cy.get('[data-cy=side-panel-new-collection]').click(); + const collName = `Test collection (${Math.floor(999999 * Math.random())})`; + cy.get('[data-cy=form-dialog]') + .should('contain', 'New collection') + .within(() => { + cy.get('[data-cy=parent-field]').within(() => { + cy.get('input').should('have.value', 'Home project'); + }) + cy.get('[data-cy=name-field]').within(() => { + cy.get('input').type(collName); + }) + }) + cy.get('[data-cy=form-submit-btn]').click(); + // Confirm that the user was taken to the newly created thing + cy.get('[data-cy=form-dialog]').should('not.exist'); + cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects'); + cy.get('[data-cy=breadcrumb-last]').should('contain', collName); + }) + + it('creates new project on home project and then a subproject inside it', function() { + const createProject = function(name, parentName) { + cy.get('[data-cy=side-panel-button]').click(); + cy.get('[data-cy=side-panel-new-project]').click(); + cy.get('[data-cy=form-dialog]') + .should('contain', 'New project') + .within(() => { + cy.get('[data-cy=parent-field]').within(() => { + cy.get('input').invoke('val').then((val) => { + expect(val).to.include(parentName); + }) + }) + cy.get('[data-cy=name-field]').within(() => { + cy.get('input').type(name); + }) + }) + cy.get('[data-cy=form-submit-btn]').click(); + } + + cy.loginAs(activeUser); + cy.visit(`/projects/${activeUser.user.uuid}`); + cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects'); + cy.get('[data-cy=breadcrumb-last]').should('not.exist'); + // Create new project + const projName = `Test project (${Math.floor(999999 * Math.random())})`; + createProject(projName, 'Home project'); + // Confirm that the user was taken to the newly created thing + cy.get('[data-cy=form-dialog]').should('not.exist'); + cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects'); + cy.get('[data-cy=breadcrumb-last]').should('contain', projName); + // Create a subproject + const subProjName = `Test project (${Math.floor(999999 * Math.random())})`; + createProject(subProjName, projName); + cy.get('[data-cy=form-dialog]').should('not.exist'); + cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects'); + cy.get('[data-cy=breadcrumb-last]').should('contain', subProjName); + }) }) \ No newline at end of file