[arvados] updated: 2.7.0-6052-g65e6fa3de6
git repository hosting
git at public.arvados.org
Fri Feb 23 21:01:17 UTC 2024
Summary of changes:
.../workbench2/cypress/e2e/banner-tooltip.cy.js | 3 --
services/workbench2/cypress/e2e/collection.cy.js | 5 ---
.../workbench2/cypress/e2e/create-workflow.cy.js | 5 ---
.../cypress/e2e/delete-multiple-files.cy.js | 5 ---
services/workbench2/cypress/e2e/favorites.cy.js | 5 ---
services/workbench2/cypress/e2e/login.cy.js | 5 ---
.../cypress/e2e/multiselect-toolbar.cy.js | 5 ---
.../workbench2/cypress/e2e/page-not-found.cy.js | 5 ---
services/workbench2/cypress/e2e/process.cy.js | 50 +++++++++++++++++++---
services/workbench2/cypress/e2e/project.cy.js | 5 ---
services/workbench2/cypress/e2e/search.cy.js | 5 ---
services/workbench2/cypress/e2e/sharing.cy.js | 5 ---
services/workbench2/cypress/e2e/side-panel.cy.js | 5 ---
services/workbench2/cypress/support/commands.js | 5 ++-
14 files changed, 49 insertions(+), 64 deletions(-)
via 65e6fa3de6c5e921e30044c66ed494456d965c59 (commit)
via 9375fd613c5eec65195ffb721666061e4032cb0a (commit)
from 6b28bccc0f033b2c3a2dbcb66938e91930702042 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 65e6fa3de6c5e921e30044c66ed494456d965c59
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date: Fri Feb 23 17:59:25 2024 -0300
21461: Removes unnecessary session clearing code. Cypress already does it.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>
diff --git a/services/workbench2/cypress/e2e/banner-tooltip.cy.js b/services/workbench2/cypress/e2e/banner-tooltip.cy.js
index 3fbaba9e38..0a434ec9e8 100644
--- a/services/workbench2/cypress/e2e/banner-tooltip.cy.js
+++ b/services/workbench2/cypress/e2e/banner-tooltip.cy.js
@@ -23,9 +23,6 @@ describe('Banner / tooltip tests', function () {
});
beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
-
cy.on('uncaught:exception', (err, runnable, promise) => {
Cypress.log({ message: `Application Error: ${err}`});
if (promise) {
diff --git a/services/workbench2/cypress/e2e/collection.cy.js b/services/workbench2/cypress/e2e/collection.cy.js
index f4ffaebf5e..c5edf0e4f2 100644
--- a/services/workbench2/cypress/e2e/collection.cy.js
+++ b/services/workbench2/cypress/e2e/collection.cy.js
@@ -27,11 +27,6 @@ describe("Collection panel tests", function () {
downloadsFolder = Cypress.config("downloadsFolder");
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
it('shows the appropriate buttons in the toolbar', () => {
const msButtonTooltips = [
diff --git a/services/workbench2/cypress/e2e/create-workflow.cy.js b/services/workbench2/cypress/e2e/create-workflow.cy.js
index e646903934..c8acc67348 100644
--- a/services/workbench2/cypress/e2e/create-workflow.cy.js
+++ b/services/workbench2/cypress/e2e/create-workflow.cy.js
@@ -19,11 +19,6 @@ describe('Create workflow tests', function () {
);
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
it('can create project with nested data', function () {
cy.createGroup(adminUser.token, {
group_class: "project",
diff --git a/services/workbench2/cypress/e2e/delete-multiple-files.cy.js b/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
index b506fb3d68..8086dd125d 100644
--- a/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
+++ b/services/workbench2/cypress/e2e/delete-multiple-files.cy.js
@@ -19,11 +19,6 @@ describe('Multi-file deletion tests', function () {
);
});
- 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)}`,
diff --git a/services/workbench2/cypress/e2e/favorites.cy.js b/services/workbench2/cypress/e2e/favorites.cy.js
index db9a0d5f39..2898c22cba 100644
--- a/services/workbench2/cypress/e2e/favorites.cy.js
+++ b/services/workbench2/cypress/e2e/favorites.cy.js
@@ -21,11 +21,6 @@ describe('Favorites tests', function () {
});
});
- beforeEach(function () {
- cy.clearCookies()
- cy.clearLocalStorage()
- });
-
it('creates and removes a public favorite', function () {
cy.loginAs(adminUser);
diff --git a/services/workbench2/cypress/e2e/login.cy.js b/services/workbench2/cypress/e2e/login.cy.js
index 79f73670a3..6f2c91c37e 100644
--- a/services/workbench2/cypress/e2e/login.cy.js
+++ b/services/workbench2/cypress/e2e/login.cy.js
@@ -33,11 +33,6 @@ describe('Login tests', function() {
randomUser.password = 'topsecret';
})
- beforeEach(function() {
- cy.clearCookies()
- cy.clearLocalStorage()
- })
-
it('shows login page on first visit', function() {
cy.visit('/')
cy.get('div#root').should('contain', 'Please log in')
diff --git a/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js b/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
index ef503f7ef6..ce3551bbd1 100644
--- a/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
+++ b/services/workbench2/cypress/e2e/multiselect-toolbar.cy.js
@@ -23,11 +23,6 @@ describe('Multiselect Toolbar Tests', () => {
});
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
it('exists in DOM in neutral state', () => {
cy.loginAs(activeUser);
cy.get('[data-cy=multiselect-toolbar]').should('exist');
diff --git a/services/workbench2/cypress/e2e/page-not-found.cy.js b/services/workbench2/cypress/e2e/page-not-found.cy.js
index 6eab27c827..e147d740d3 100644
--- a/services/workbench2/cypress/e2e/page-not-found.cy.js
+++ b/services/workbench2/cypress/e2e/page-not-found.cy.js
@@ -13,11 +13,6 @@ describe('Page not found tests', function() {
);
});
- beforeEach(function() {
- cy.clearCookies()
- cy.clearLocalStorage()
- });
-
it('shows not found page', function() {
// when
cy.loginAs(adminUser);
diff --git a/services/workbench2/cypress/e2e/process.cy.js b/services/workbench2/cypress/e2e/process.cy.js
index 4687a2577e..ca13e9f9e0 100644
--- a/services/workbench2/cypress/e2e/process.cy.js
+++ b/services/workbench2/cypress/e2e/process.cy.js
@@ -25,11 +25,6 @@ describe("Process tests", function () {
});
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
function setupDockerImage(image_name) {
// Create a collection that will be used as a docker image for the tests.
cy.createCollection(adminUser.token, {
diff --git a/services/workbench2/cypress/e2e/project.cy.js b/services/workbench2/cypress/e2e/project.cy.js
index c03aa8dcd5..a7e7002759 100644
--- a/services/workbench2/cypress/e2e/project.cy.js
+++ b/services/workbench2/cypress/e2e/project.cy.js
@@ -23,11 +23,6 @@ describe("Project tests", function () {
});
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
it("creates a new project with multiple properties", function () {
const projName = `Test project (${Math.floor(999999 * Math.random())})`;
cy.loginAs(activeUser);
diff --git a/services/workbench2/cypress/e2e/search.cy.js b/services/workbench2/cypress/e2e/search.cy.js
index d8aa35d3d2..4411c9ffb4 100644
--- a/services/workbench2/cypress/e2e/search.cy.js
+++ b/services/workbench2/cypress/e2e/search.cy.js
@@ -23,11 +23,6 @@ describe("Search tests", function () {
});
});
- beforeEach(function () {
- cy.clearCookies();
- cy.clearLocalStorage();
- });
-
it("can search for old collection versions", function () {
const colName = `Versioned Collection ${Math.floor(Math.random() * Math.floor(999999))}`;
let colUuid = "";
diff --git a/services/workbench2/cypress/e2e/sharing.cy.js b/services/workbench2/cypress/e2e/sharing.cy.js
index f742d09062..05a7d470bf 100644
--- a/services/workbench2/cypress/e2e/sharing.cy.js
+++ b/services/workbench2/cypress/e2e/sharing.cy.js
@@ -21,11 +21,6 @@ describe('Sharing tests', function () {
});
})
- beforeEach(function () {
- cy.clearCookies()
- cy.clearLocalStorage()
- });
-
it('can create and delete sharing URLs on collections', () => {
const collName = 'shared-collection ' + new Date().getTime();
cy.createCollection(adminUser.token, {
diff --git a/services/workbench2/cypress/e2e/side-panel.cy.js b/services/workbench2/cypress/e2e/side-panel.cy.js
index d6ac754d0a..6d6b19bfab 100644
--- a/services/workbench2/cypress/e2e/side-panel.cy.js
+++ b/services/workbench2/cypress/e2e/side-panel.cy.js
@@ -23,11 +23,6 @@ describe('Side panel tests', function() {
);
})
- beforeEach(function() {
- cy.clearCookies()
- cy.clearLocalStorage()
- })
-
it('enables the +NEW side panel button on users home project', function() {
cy.loginAs(activeUser);
cy.get('[data-cy=side-panel-button]')
diff --git a/services/workbench2/cypress/support/commands.js b/services/workbench2/cypress/support/commands.js
index 8fe0b06aaf..da7300a430 100644
--- a/services/workbench2/cypress/support/commands.js
+++ b/services/workbench2/cypress/support/commands.js
@@ -350,8 +350,11 @@ Cypress.Commands.add("updateResource", (token, suffix, uuid, data) => {
});
Cypress.Commands.add("loginAs", user => {
+ // This shouldn't be necessary unless we need to call loginAs multiple times
+ // in the same test.
cy.clearCookies();
- cy.clearLocalStorage();
+ cy.clearAllLocalStorage();
+ cy.clearAllSessionStorage();
cy.visit(`/token/?api_token=${user.token}`);
// Use waitUntil to avoid permafail race conditions with window.location being undefined
cy.waitUntil(() => cy.window().then(win =>
commit 9375fd613c5eec65195ffb721666061e4032cb0a
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date: Fri Feb 23 17:22:46 2024 -0300
21461: Adds test that confirms no horizontal scrollbar exist on long lines.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>
diff --git a/services/workbench2/cypress/e2e/process.cy.js b/services/workbench2/cypress/e2e/process.cy.js
index c39d5c64d4..4687a2577e 100644
--- a/services/workbench2/cypress/e2e/process.cy.js
+++ b/services/workbench2/cypress/e2e/process.cy.js
@@ -679,6 +679,51 @@ describe("Process tests", function () {
});
});
});
+
+ it("correctly break long lines when no obvious line separation exists", function () {
+ function randomString(length) {
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+ let res = '';
+ for (let i = 0; i < length; i++) {
+ res += chars.charAt(Math.floor(Math.random() * chars.length));
+ }
+ return res;
+ }
+
+ const logLinesQty = 10;
+ const logLines = [];
+ for (let i = 0; i < logLinesQty; i++) {
+ const length = Math.floor(Math.random() * 500) + 500;
+ logLines.push(randomString(length));
+ }
+
+ createContainerRequest(activeUser, "test_container_request", "arvados/jobs", ["echo", "hello world"], false, "Committed").then(function (
+ containerRequest
+ ) {
+ cy.appendLog(adminUser.token, containerRequest.uuid, "stdout.txt", logLines).as("stdoutLogs");
+
+ cy.getAll("@stdoutLogs").then(function () {
+ cy.loginAs(activeUser);
+ cy.goToPath(`/processes/${containerRequest.uuid}`);
+ // Select 'stdout' log filter
+ cy.get("[data-cy=process-logs-filter]").click();
+ cy.get("body").contains("li", "stdout").click();
+ cy.get("[data-cy=process-logs] span > p")
+ .should('have.length', logLinesQty)
+ .each($p => {
+ expect($p.text().length).to.be.greaterThan(499);
+
+ // This looks like an ugly hack, but I was not able
+ // to get [client|scroll]Width attributes through
+ // the usual Cypress methods.
+ const parentClientWidth = $p[0].parentElement.clientWidth;
+ const parentScrollWidth = $p[0].parentElement.scrollWidth
+ // Scrollbar should not be visible
+ expect(parentClientWidth).to.be.eq(parentScrollWidth);
+ });
+ });
+ });
+ });
});
describe("I/O panel", function () {
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list