--- /dev/null
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+describe('Collection panel tests', function () {
+ let activeUser;
+ let adminUser;
+
+ before(function () {
+ cy.getUser('admin', 'Admin', 'User', true, true)
+ .as('adminUser').then(function () {
+ adminUser = this.adminUser;
+ }
+ );
+ cy.getUser('collectionuser1', 'Collection', 'User', false, true)
+ .as('activeUser').then(function () {
+ activeUser = this.activeUser;
+ }
+ );
+ });
+
+ beforeEach(function () {
+ cy.clearCookies();
+ cy.clearLocalStorage();
+ });
+
+ it('deletes all files from root dir', 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. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n"
+ })
+ .as('testCollection').then(function () {
+ cy.loginAs(activeUser);
+ cy.visit(`/collections/${this.testCollection.uuid}`);
+ cy.get('[data-cy=collection-files-panel]').within(() => {
+ cy.get('[type="checkbox"]').first().check();
+ cy.get('[type="checkbox"]').last().check();
+ });
+ cy.get('[data-cy=collection-files-panel-options-btn]').click();
+ cy.get('[data-cy=context-menu] div').contains('Remove selected').click();
+ cy.get('[data-cy=confirmation-dialog-ok-btn]').click();
+ cy.get('[data-cy=collection-files-panel]')
+ .should('not.contain', 'baz')
+ .and('not.contain', 'bar');
+ });
+ });
+
+ it('deletes all files from non root dir', 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. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n"
+ })
+ .as('testCollection').then(function () {
+ cy.loginAs(activeUser);
+ cy.visit(`/collections/${this.testCollection.uuid}`);
+
+ cy.get('[data-cy=collection-files-panel]')
+ .contains('bar').rightclick({ force: true });
+
+ cy.get('[data-cy=context-menu]')
+ .contains('Rename')
+ .click();
+
+ cy.get('[data-cy=form-dialog]')
+ .should('contain', 'Rename')
+ .within(() => {
+ cy.get('input').type(`{selectall}{backspace}subdir/foo`);
+ });
+ cy.get('[data-cy=form-submit-btn]').click();
+ cy.get('[data-cy=collection-files-panel]')
+ .should('not.contain', 'bar')
+ .and('contain', 'subdir');
+
+ cy.get('[data-cy=virtual-file-tree] > div > i').first().click();
+ cy.get('[data-cy=collection-files-panel]')
+ .should('contain', 'foo');
+
+ cy.get('[data-cy=collection-files-panel]')
+ .contains('foo').closest('[data-cy=virtual-file-tree]').find('[type="checkbox"]').click();
+
+ cy.get('[data-cy=collection-files-panel-options-btn]').click();
+ cy.get('[data-cy=context-menu] div').contains('Remove selected').click();
+ cy.get('[data-cy=confirmation-dialog-ok-btn]').click();
+ });
+ });
+})