- }).as('collection').then(function () {
- expect(this.collection.storage_classes_desired).to.deep.equal(['default'])
-
- cy.loginAs(activeUser)
- cy.goToPath(`/collections/${this.collection.uuid}`);
-
- // Initial check: it should show the 'default' storage class
- cy.get('[data-cy=collection-info-panel]')
- .should('contain', 'Storage classes')
- .and('contain', 'default')
- .and('not.contain', 'foo')
- .and('not.contain', 'bar');
- // Edit collection: add storage class 'foo'
- cy.get('[data-cy=collection-panel-options-btn]').click();
- cy.get('[data-cy=context-menu]').contains('Edit collection').click();
- cy.get('[data-cy=form-dialog]')
- .should('contain', 'Edit Collection')
- .and('contain', 'Storage classes')
- .and('contain', 'default')
- .and('contain', 'foo')
- .and('contain', 'bar')
- .within(() => {
- cy.get('[data-cy=checkbox-foo]').click();
- });
- cy.get('[data-cy=form-submit-btn]').click();
- cy.get('[data-cy=collection-info-panel]')
- .should('contain', 'default')
- .and('contain', 'foo')
- .and('not.contain', 'bar');
- cy.doRequest('GET', `/arvados/v1/collections/${this.collection.uuid}`)
- .its('body').as('updatedCollection')
- .then(function () {
- expect(this.updatedCollection.storage_classes_desired).to.deep.equal(['default', 'foo']);
- });
- // Edit collection: remove storage class 'default'
- cy.get('[data-cy=collection-panel-options-btn]').click();
- cy.get('[data-cy=context-menu]').contains('Edit collection').click();
- cy.get('[data-cy=form-dialog]')
- .should('contain', 'Edit Collection')
- .and('contain', 'Storage classes')
- .and('contain', 'default')
- .and('contain', 'foo')
- .and('contain', 'bar')
+ })
+ .as("collection")
+ .then(function () {
+ expect(this.collection.storage_classes_desired).to.deep.equal(["default"]);
+
+ cy.loginAs(activeUser);
+ cy.goToPath(`/collections/${this.collection.uuid}`);
+
+ // Initial check: it should show the 'default' storage class
+ cy.get("[data-cy=collection-info-panel]")
+ .should("contain", "Storage classes")
+ .and("contain", "default")
+ .and("not.contain", "foo")
+ .and("not.contain", "bar");
+ // Edit collection: add storage class 'foo'
+ cy.get("[data-cy=collection-panel-options-btn]").click();
+ cy.get("[data-cy=context-menu]").contains("Edit collection").click();
+ cy.get("[data-cy=form-dialog]")
+ .should("contain", "Edit Collection")
+ .and("contain", "Storage classes")
+ .and("contain", "default")
+ .and("contain", "foo")
+ .and("contain", "bar")
+ .within(() => {
+ cy.get("[data-cy=checkbox-foo]").click();
+ });
+ cy.get("[data-cy=form-submit-btn]").click();
+ cy.get("[data-cy=collection-info-panel]").should("contain", "default").and("contain", "foo").and("not.contain", "bar");
+ cy.doRequest("GET", `/arvados/v1/collections/${this.collection.uuid}`)
+ .its("body")
+ .as("updatedCollection")
+ .then(function () {
+ expect(this.updatedCollection.storage_classes_desired).to.deep.equal(["default", "foo"]);
+ });
+ // Edit collection: remove storage class 'default'
+ cy.get("[data-cy=collection-panel-options-btn]").click();
+ cy.get("[data-cy=context-menu]").contains("Edit collection").click();
+ cy.get("[data-cy=form-dialog]")
+ .should("contain", "Edit Collection")
+ .and("contain", "Storage classes")
+ .and("contain", "default")
+ .and("contain", "foo")
+ .and("contain", "bar")
+ .within(() => {
+ cy.get("[data-cy=checkbox-default]").click();
+ });
+ cy.get("[data-cy=form-submit-btn]").click();
+ cy.get("[data-cy=collection-info-panel]").should("not.contain", "default").and("contain", "foo").and("not.contain", "bar");
+ cy.doRequest("GET", `/arvados/v1/collections/${this.collection.uuid}`)
+ .its("body")
+ .as("updatedCollection")
+ .then(function () {
+ expect(this.updatedCollection.storage_classes_desired).to.deep.equal(["foo"]);
+ });
+ });
+ });
+
+ it("moves a collection to a different project", function () {
+ const collName = `Test Collection ${Math.floor(Math.random() * 999999)}`;
+ const projName = `Test Project ${Math.floor(Math.random() * 999999)}`;
+ const fileName = `Test_File_${Math.floor(Math.random() * 999999)}`;
+
+ cy.createCollection(adminUser.token, {
+ name: collName,
+ owner_uuid: activeUser.user.uuid,
+ manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n`,
+ }).as("testCollection");
+ cy.createGroup(adminUser.token, {
+ name: projName,
+ group_class: "project",
+ owner_uuid: activeUser.user.uuid,
+ }).as("testProject");
+
+ cy.getAll("@testCollection", "@testProject").then(function ([testCollection, testProject]) {
+ cy.loginAs(activeUser);
+ cy.goToPath(`/collections/${testCollection.uuid}`);
+ cy.get("[data-cy=collection-files-panel]").should("contain", fileName);
+ cy.get("[data-cy=collection-info-panel]").should("not.contain", projName).and("not.contain", testProject.uuid);
+ cy.get("[data-cy=collection-panel-options-btn]").click();
+ cy.get("[data-cy=context-menu]").contains("Move to").click();
+ cy.get("[data-cy=form-dialog]")
+ .should("contain", "Move to")