[arvados-workbench2] updated: 2.4.0-222-g524ce540
git repository hosting
git at public.arvados.org
Fri Sep 23 06:15:33 UTC 2022
Summary of changes:
cypress/integration/project.spec.js | 26 +++++++++++++++++
cypress/integration/search.spec.js | 33 ++++++++++++++++++++++
src/services/api/filter-builder.ts | 13 ++++++++-
.../open-in-new-tab/open-in-new-tab.actions.ts | 4 ++-
4 files changed, 74 insertions(+), 2 deletions(-)
via 524ce540a6aacece98c402591b8907d2d52122e7 (commit)
via 8c34b0f275ac1ecf18257e6de7687d01d620e1c1 (commit)
via c48d10802d4ae95273f8b98e622e5df200cdc3a7 (commit)
via 96086f4ff017f24b8436d92f6a5b7f6ec566276e (commit)
via 701add841618f48eda933c22e9226a8a237e12a6 (commit)
via 3f7e1a8afad27920adf8f03ce82eeb1ae58aa84f (commit)
via 9cd0c2757db479fb75e150d52d4871d9a88af364 (commit)
via 54805dd83a984d4e34bb35146d2505bac12bc1d0 (commit)
from 1671375fc47aa0be6f3e8ea41a4756729d0f00b4 (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 524ce540a6aacece98c402591b8907d2d52122e7
Merge: 1671375f 8c34b0f2
Author: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
Date: Fri Sep 23 08:15:03 2022 +0200
Merge remote-tracking branch 'origin/main' into 18692-frozen-projects-workbench-support
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
diff --cc cypress/integration/project.spec.js
index 3851a665,ea795e6c..93e4257b
--- a/cypress/integration/project.spec.js
+++ b/cypress/integration/project.spec.js
@@@ -312,96 -312,29 +312,122 @@@ describe('Project tests', function()
});
});
+ describe('Frozen projects', () => {
+ beforeEach(() => {
+ cy.createGroup(activeUser.token, {
+ name: `Main project ${Math.floor(Math.random() * 999999)}`,
+ group_class: 'project',
+ }).as('mainProject');
+
+ cy.createGroup(adminUser.token, {
+ name: `Admin project ${Math.floor(Math.random() * 999999)}`,
+ group_class: 'project',
+ }).as('adminProject').then((mainProject) => {
+ cy.shareWith(adminUser.token, activeUser.user.uuid, mainProject.uuid, 'can_write');
+ });
+
+ cy.get('@mainProject').then((mainProject) => {
+ cy.createGroup(adminUser.token, {
+ name : `Sub project ${Math.floor(Math.random() * 999999)}`,
+ group_class: 'project',
+ owner_uuid: mainProject.uuid,
+ }).as('subProject');
+
+ cy.createCollection(adminUser.token, {
+ name: `Main collection ${Math.floor(Math.random() * 999999)}`,
+ owner_uuid: mainProject.uuid,
+ manifest_text: "./subdir 37b51d194a7513e45b56f6524f2d51f2+3 0:3:foo\n. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
+ }).as('mainCollection');
+ });
+ });
+
+ it('should be able to froze own project', () => {
+ cy.getAll('@mainProject').then(([mainProject]) => {
+ cy.loginAs(activeUser);
+
+ cy.get('[data-cy=project-panel]').contains(mainProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').click();
+
+ cy.get('[data-cy=project-panel]').contains(mainProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').should('not.exist');
+ });
+ });
+
+ it('should not be able to modify items within the frozen project', () => {
+ cy.getAll('@mainProject', '@mainCollection').then(([mainProject, mainCollection]) => {
+ cy.loginAs(activeUser);
+
+ cy.get('[data-cy=project-panel]').contains(mainProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').click();
+
+ cy.get('[data-cy=project-panel]').contains(mainProject.name).click();
+
+ cy.get('[data-cy=project-panel]').contains(mainCollection.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Move to trash').should('not.exist');
+ });
+ });
+
+ it('should be able to froze not owned project', () => {
+ cy.getAll('@adminProject').then(([adminProject]) => {
+ cy.loginAs(activeUser);
+
+ cy.get('[data-cy=side-panel-tree]').contains('Shared with me').click();
+
+ cy.get('main').contains(adminProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').should('not.exist');
+ });
+ });
+
+ it('should be able to unfroze project if user is an admin', () => {
+ cy.getAll('@adminProject').then(([adminProject]) => {
+ cy.loginAs(adminUser);
+
+ cy.get('main').contains(adminProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').click();
+
+ cy.wait(1000);
+
+ cy.get('main').contains(adminProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Unfreeze').click();
+
+ cy.get('main').contains(adminProject.name).rightclick();
+
+ cy.get('[data-cy=context-menu]').contains('Freeze').should('exist');
+ });
+ });
+ });
++
+ it('copies project URL to clipboard', () => {
+ const projectName = `Test project (${Math.floor(999999 * Math.random())})`;
+
+ cy.loginAs(activeUser);
+ cy.get('[data-cy=side-panel-button]').click();
+ cy.get('[data-cy=side-panel-new-project]').click();
+ cy.get('[data-cy=form-dialog]')
+ .should('contain', 'New Project')
+ .within(() => {
+ cy.get('[data-cy=name-field]').within(() => {
+ cy.get('input').type(projectName);
+ });
+ cy.get('[data-cy=form-submit-btn]').click();
+ });
+
+ cy.get('[data-cy=side-panel-tree]').contains('Projects').click();
+ cy.get('[data-cy=project-panel]').contains(projectName).rightclick();
+ cy.get('[data-cy=context-menu]').contains('Copy to clipboard').click();
+ cy.window().then((win) => (
+ win.navigator.clipboard.readText().then((text) => {
+ expect(text).to.match(/https\:\/\/localhost\:[0-9]+\/projects\/[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{15}/,);
+ })
+ ));
+
+ });
});
+
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list