X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/ee9dac4509683f2fbe5fda146bd9c18f4b765337..3091c269a16a294cb8f19d5c325affdfc03c50f4:/cypress/support/commands.js diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 8c6fd462..bba04ba8 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -32,7 +32,7 @@ const controllerURL = Cypress.env('controller_url'); const systemToken = Cypress.env('system_token'); Cypress.Commands.add( - "do_request", (method='GET', path='', data=null, qs=null, + "doRequest", (method='GET', path='', data=null, qs=null, token=systemToken, auth=false, followRedirect=true) => { return cy.request({ method: method, @@ -56,7 +56,7 @@ Cypress.Commands.add( Cypress.Commands.add( "getUser", (username, first_name='', last_name='', is_admin=false, is_active=true) => { // Create user if not already created - return cy.do_request('POST', '/auth/controller/callback', { + return cy.doRequest('POST', '/auth/controller/callback', { auth_info: JSON.stringify({ email: `${username}@example.local`, username: username, @@ -71,13 +71,13 @@ Cypress.Commands.add( .then(function() { this.userToken = this.location.split("=")[1] assert.isString(this.userToken) - return cy.do_request('GET', '/arvados/v1/users', null, { + return cy.doRequest('GET', '/arvados/v1/users', null, { filters: `[["username", "=", "${username}"]]` }) .its('body.items.0') .as('aUser') .then(function() { - cy.do_request('PUT', `/arvados/v1/users/${this.aUser.uuid}`, { + cy.doRequest('PUT', `/arvados/v1/users/${this.aUser.uuid}`, { user: { is_admin: is_admin, is_active: is_active @@ -94,14 +94,81 @@ Cypress.Commands.add( ) Cypress.Commands.add( - "createCollection", (token, collection) => { - return cy.do_request('POST', '/arvados/v1/collections', { - collection: JSON.stringify(collection), + "createLink", (token, data) => { + return cy.createResource(token, 'links', { + link: JSON.stringify(data) + }) + } +) + +Cypress.Commands.add( + "createGroup", (token, data) => { + return cy.createResource(token, 'groups', { + group: JSON.stringify(data), + ensure_unique_name: true + }) + } +) + +Cypress.Commands.add( + "trashGroup", (token, uuid) => { + return cy.deleteResource(token, 'groups', uuid); + } +) + + +Cypress.Commands.add( + "createWorkflow", (token, data) => { + return cy.createResource(token, 'workflows', { + workflow: JSON.stringify(data), + ensure_unique_name: true + }) + } +) + +Cypress.Commands.add( + "createCollection", (token, data) => { + return cy.createResource(token, 'collections', { + collection: JSON.stringify(data), ensure_unique_name: true - }, null, token, true) - .its('body').as('collection') + }) + } +) + +Cypress.Commands.add( + "updateCollection", (token, uuid, data) => { + return cy.updateResource(token, 'collections', uuid, { + collection: JSON.stringify(data) + }) + } +) + +Cypress.Commands.add( + "createResource", (token, suffix, data) => { + return cy.doRequest('POST', '/arvados/v1/'+suffix, data, null, token, true) + .its('body').as('resource') + .then(function() { + return this.resource; + }) + } +) + +Cypress.Commands.add( + "deleteResource", (token, suffix, uuid) => { + return cy.doRequest('DELETE', '/arvados/v1/'+suffix+'/'+uuid) + .its('body').as('resource') + .then(function() { + return this.resource; + }) + } +) + +Cypress.Commands.add( + "updateResource", (token, suffix, uuid, data) => { + return cy.doRequest('PUT', '/arvados/v1/'+suffix+'/'+uuid, data, null, token, true) + .its('body').as('resource') .then(function() { - return this.collection; + return this.resource; }) } ) @@ -113,4 +180,10 @@ Cypress.Commands.add( cy.get('div#root').should('contain', 'Arvados Workbench (zzzzz)'); cy.get('div#root').should('not.contain', 'Your account is inactive'); } +) + +Cypress.Commands.add( + "doSearch", (searchTerm) => { + cy.get('[data-cy=searchbar-input-field]').type(`{selectall}${searchTerm}{enter}`); + } ) \ No newline at end of file