X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/d01d7f3a3164e305b9bd335c118d670b7574dfde..852a6a393297d03ca5259ddb6aa7aedff4a000ea:/cypress/integration/create-workflow.spec.js diff --git a/cypress/integration/create-workflow.spec.js b/cypress/integration/create-workflow.spec.js index 00594998..8df8389f 100644 --- a/cypress/integration/create-workflow.spec.js +++ b/cypress/integration/create-workflow.spec.js @@ -64,9 +64,6 @@ describe('Multi-file deletion tests', function () { cy.get('@testWorkflow').then(() => { cy.loginAs(adminUser); - cy.get('[data-cy=linear-progress]').should('exist'); - cy.get('[data-cy=linear-progress]').should('not.exist'); - cy.get('[data-cy=side-panel-button]').click(); cy.get('[data-cy=side-panel-run-process]').click(); @@ -76,12 +73,12 @@ describe('Multi-file deletion tests', function () { cy.get('[data-cy=run-process-next-button]').click(); - cy.get('[data-cy=new-process-panel]').contains('Run Process').should('be.disabled'); + cy.get('[data-cy=new-process-panel]').contains('Run workflow').should('be.disabled'); cy.get('[data-cy=new-process-panel]') .within(() => { cy.get('[name=name]').type(`Workflow name (${Math.floor(Math.random() * 999999)})`); - cy.get('[readonly]').click(); + cy.contains('input').next().click(); }); cy.get('[data-cy=choose-a-file-dialog]').as('chooseFileDialog'); @@ -108,7 +105,105 @@ describe('Multi-file deletion tests', function () { cy.get('@chooseFileDialog').find('button').contains('Ok').click(); cy.get('[data-cy=new-process-panel]') - .find('button').contains('Run Process').should('not.be.disabled'); + .find('button').contains('Run workflow').should('not.be.disabled'); }); }); + + ['workflow_with_array_fields.yaml', 'workflow_with_default_array_fields.yaml'].forEach((yamlfile) => + it('can select multi files when creating workflow '+yamlfile, () => { + cy.createProject({ + owningUser: activeUser, + projectName: 'myProject1', + addToFavorites: true + }); + + cy.createCollection(adminUser.token, { + name: `Test collection ${Math.floor(Math.random() * 999999)}`, + owner_uuid: activeUser.user.uuid, + manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n" + }) + .as('testCollection'); + + cy.createCollection(adminUser.token, { + name: `Test collection ${Math.floor(Math.random() * 999999)}`, + owner_uuid: activeUser.user.uuid, + manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:buz\n` + }) + .as('testCollection2'); + + cy.getAll('@myProject1', '@testCollection', '@testCollection2') + .then(function ([myProject1, testCollection, testCollection2]) { + cy.readFile('cypress/fixtures/'+yamlfile).then(workflow => { + cy.createWorkflow(adminUser.token, { + name: `TestWorkflow${Math.floor(Math.random() * 999999)}.cwl`, + definition: workflow, + owner_uuid: myProject1.uuid, + }) + .as('testWorkflow'); + }); + + cy.loginAs(activeUser); + + cy.get('main').contains(myProject1.name).click(); + + cy.get('[data-cy=side-panel-button]').click(); + + cy.get('#aside-menu-list').contains('Run a workflow').click(); + + cy.get('@testWorkflow') + .then((testWorkflow) => { + cy.get('main').contains(testWorkflow.name).click(); + cy.get('[data-cy=run-process-next-button]').click(); + + cy.get('label').contains('foo').parent('div').find('input').click(); + cy.get('div[role=dialog]') + .within(() => { + cy.get('p').contains('Projects').closest('div[role=button]') + .within(() => { + cy.get('svg[role=presentation]') + .click({ multiple: true }); + }); + + cy.get(`[data-id=${testCollection.uuid}]`) + .find('i').click(); + + cy.contains('bar').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click(); + + cy.contains('baz').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click(); + + cy.get('[data-cy=ok-button]').click(); + }); + + cy.get('label').contains('bar').parent('div').find('input').click(); + cy.get('div[role=dialog]') + .within(() => { + cy.get('p').contains('Projects').closest('div[role=button]') + .within(() => { + cy.get('svg[role=presentation]') + .click({ multiple: true }); + }); + + cy.get(`[data-id=${testCollection.uuid}]`) + .find('input[type=checkbox]').click(); + + cy.get(`[data-id=${testCollection2.uuid}]`) + .find('input[type=checkbox]').click(); + + cy.get('[data-cy=ok-button]').click(); + }); + }); + + cy.get('label').contains('foo').parent('div') + .within(() => { + cy.contains('baz'); + cy.contains('bar'); + }); + + cy.get('label').contains('bar').parent('div') + .within(() => { + cy.contains(testCollection.name); + cy.contains(testCollection2.name); + }); + }); + })); })