X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/efb6e397a2d9ec98c8a9fa1f47bea66d8651bb81..14b107de3fe4c29f4a37f1958bad99e2b82d2b24:/cypress/integration/collection.spec.js diff --git a/cypress/integration/collection.spec.js b/cypress/integration/collection.spec.js index 91f58904..74acd056 100644 --- a/cypress/integration/collection.spec.js +++ b/cypress/integration/collection.spec.js @@ -626,6 +626,34 @@ describe('Collection panel tests', function () { }); }); + it('automatically updates the collection UI contents without using the Refresh button', function () { + const collName = `Test Collection ${Math.floor(Math.random() * 999999)}`; + const fileName = 'foobar' + + cy.createCollection(adminUser.token, { + name: collName, + owner_uuid: activeUser.user.uuid, + }).as('testCollection'); + + cy.getAll('@testCollection').then(function ([testCollection]) { + cy.loginAs(activeUser); + cy.goToPath(`/collections/${testCollection.uuid}`); + cy.get('[data-cy=collection-files-panel]').should('contain', 'This collection is empty'); + cy.get('[data-cy=collection-files-panel]').should('not.contain', fileName); + cy.get('[data-cy=collection-info-panel]').should('contain', collName); + + cy.updateCollection(adminUser.token, testCollection.uuid, { + name: `${collName + ' updated'}`, + manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n`, + }).as('updatedCollection'); + cy.getAll('@updatedCollection').then(function ([updatedCollection]) { + expect(updatedCollection.name).to.equal(`${collName + ' updated'}`); + cy.get('[data-cy=collection-info-panel]').should('contain', updatedCollection.name); + cy.get('[data-cy=collection-files-panel]').should('contain', fileName); + }); + }); + }) + it('makes a copy of an existing collection', function() { const collName = `Test Collection ${Math.floor(Math.random() * 999999)}`; const copyName = `Copy of: ${collName}`; @@ -919,7 +947,7 @@ describe('Collection panel tests', function () { 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" + manifest_text: "./subdir 37b51d194a7513e45b56f6524f2d51f2+3 0:3:foo\n. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n" }).as('testCollection1'); }); @@ -931,17 +959,26 @@ describe('Collection panel tests', function () { cy.get('[data-cy=upload-button]').click(); cy.get('[data-cy=collection-files-panel]') .contains('5mb_a.bin').should('not.exist'); - cy.get('[data-cy=collection-file-count]').should('contain', '1'); + cy.get('[data-cy=collection-file-count]').should('contain', '2'); cy.fixture('files/5mb.bin', 'base64').then(content => { cy.get('[data-cy=drag-and-drop]').upload(content, '5mb_a.bin'); cy.get('[data-cy=form-submit-btn]').click(); cy.get('[data-cy=form-submit-btn]').should('not.exist'); + cy.get('[data-cy=collection-files-panel]') + .contains('5mb_a.bin').should('exist'); + cy.get('[data-cy=collection-file-count]').should('contain', '3'); + + cy.get('[data-cy=collection-files-panel]').contains('subdir').click(); + cy.get('[data-cy=upload-button]').click(); + cy.fixture('files/5mb.bin', 'base64').then(content => { + cy.get('[data-cy=drag-and-drop]').upload(content, '5mb_b.bin'); + cy.get('[data-cy=form-submit-btn]').click(); + cy.get('[data-cy=form-submit-btn]').should('not.exist'); + cy.get('[data-cy=collection-files-right-panel]') + .contains('5mb_b.bin').should('exist'); + + }); }); - // Confirm that the file browser has been updated. - cy.get('[data-cy=collection-files-panel]') - .contains('5mb_a.bin').should('exist'); - // Confirm that the collection panel has been updated. - cy.get('[data-cy=collection-file-count]').should('contain', '2'); }); });