Merge branch '21452-fuse-filters'
[arvados.git] / services / workbench2 / cypress / integration / process.spec.js
index 38d9794b18573a0379a3bbba93f53f0b661abe83..f647560a5fcc7bcee66b1b3007d9aecf47c49823 100644 (file)
@@ -90,6 +90,50 @@ describe("Process tests", function () {
         });
     }
 
+    describe('Multiselect Toolbar', () => {
+        it('shows the appropriate buttons in the toolbar', () => {
+
+            const msButtonTooltips = [
+                'API Details',
+                'Add to Favorites',
+                'CANCEL',
+                'Copy and re-run process',
+                'Edit process',
+                'Move to',
+                'Open in new tab',
+                'Outputs',
+                'Remove',
+                'Share',
+                'View details',
+            ];
+
+            createContainerRequest(
+                activeUser,
+                `test_container_request ${Math.floor(Math.random() * 999999)}`,
+                "arvados/jobs",
+                ["echo", "hello world"],
+                false,
+                "Committed"
+            ).then(function (containerRequest) {
+                cy.loginAs(activeUser);
+                cy.goToPath(`/processes/${containerRequest.uuid}`);
+                cy.get("[data-cy=process-details]").should("contain", containerRequest.name);
+                cy.get("[data-cy=process-details-attributes-modifiedby-user]").contains(`Active User (${activeUser.user.uuid})`);
+                cy.get("[data-cy=process-details-attributes-runtime-user]").should("not.exist");
+                cy.get("[data-cy=side-panel-tree]").contains("Home Projects").click();
+                cy.waitForDom()
+                cy.get('[data-cy=data-table-row]').contains(containerRequest.name).should('exist').parent().parent().parent().parent().click()
+                cy.waitForDom()
+                cy.get('[data-cy=multiselect-button]').should('have.length', msButtonTooltips.length)
+                for (let i = 0; i < msButtonTooltips.length; i++) {
+                    cy.get('[data-cy=multiselect-button]').eq(i).trigger('mouseover');
+                    cy.get('body').contains(msButtonTooltips[i]).should('exist')
+                    cy.get('[data-cy=multiselect-button]').eq(i).trigger('mouseout');
+                }
+            });
+        })
+    })
+
     describe("Details panel", function () {
         it("shows process details", function () {
             createContainerRequest(
@@ -1320,7 +1364,7 @@ describe("Process tests", function () {
             cy.getAll("@containerRequest", "@testOutputCollection").then(function ([containerRequest, testOutputCollection]) {
                 cy.goToPath(`/processes/${containerRequest.uuid}`);
                 cy.get("[data-cy=process-io-card] h6")
-                    .contains("Inputs")
+                    .contains("Input Parameters")
                     .parents("[data-cy=process-io-card]")
                     .within(() => {
                         verifyIOParameter("input_file", null, "Label Description", "input1.tar", "00000000000000000000000000000000+01");
@@ -1355,7 +1399,7 @@ describe("Process tests", function () {
                         verifyIOParameter("input_file_url", null, null, "http://example.com/index.html");
                     });
                 cy.get("[data-cy=process-io-card] h6")
-                    .contains("Outputs")
+                    .contains("Output Parameters")
                     .parents("[data-cy=process-io-card]")
                     .within(ctx => {
                         cy.get(ctx).scrollIntoView();
@@ -1452,8 +1496,10 @@ describe("Process tests", function () {
 
             cy.getAll("@containerRequest").then(function ([containerRequest]) {
                 cy.goToPath(`/processes/${containerRequest.uuid}`);
+                cy.waitForDom();
+
                 cy.get("[data-cy=process-io-card] h6")
-                    .contains("Inputs")
+                    .contains("Input Parameters")
                     .parents("[data-cy=process-io-card]")
                     .within(() => {
                         cy.wait(2000);
@@ -1463,7 +1509,7 @@ describe("Process tests", function () {
                         });
                     });
                 cy.get("[data-cy=process-io-card] h6")
-                    .contains("Outputs")
+                    .contains("Output Parameters")
                     .parents("[data-cy=process-io-card]")
                     .within(() => {
                         cy.get("tbody tr").each(item => {