})
.as('testCollection').then(function (testCollection) {
cy.loginAs(activeUser);
- cy.doSearch(`${testCollection.uuid}`);
+ cy.goToPath(`/collections/${testCollection.uuid}`);
cy.get('[data-cy=collection-panel-options-btn]').click();
cy.get('[data-cy=context-menu]').contains('Open as network folder or S3 bucket').click();
const childrenCollection = Array.prototype.slice.call(Cypress.$(body).find('dict')[0].children);
const map = {};
let i, j = 2;
-
+
for (i=0; i < childrenCollection.length; i += j) {
map[childrenCollection[i].outerText] = childrenCollection[i + 1].outerText;
}
expect(map['Username']).to.equal(activeUser.user.username);
expect(map['Port']).to.equal(port);
expect(map['Hostname']).to.equal(host);
+ if (map['Path']) {
+ expect(map['Path']).to.equal(`/c=${testCollection.uuid}`);
+ }
});
})
.then(() => cy.task('clearDownload', { filename }));
})
.as('testCollection').then(function () {
cy.loginAs(activeUser);
- cy.doSearch(`${this.testCollection.uuid}`);
+ cy.goToPath(`/collections/${this.testCollection.uuid}`);
// Key: Color (IDTAGCOLORS) - Value: Magenta (IDVALCOLORS3)
cy.get('[data-cy=resource-properties-form]').within(() => {
cy.doRequest('GET', `/arvados/v1/collections/${this.testCollection.uuid}`)
.its('body').as('collection')
.then(function () {
- expect(this.collection.properties).to.deep.equal(
- { IDTAGCOLORS: 'IDVALCOLORS3' });
+ expect(this.collection.properties.IDTAGCOLORS).to.equal('IDVALCOLORS3');
});
});
});
// on this loop may pass an assertion from the first iteration by looking
// for the same file name.
const fileName = isWritable ? 'bar' : 'foo';
+ const subDirName = 'subdir';
cy.createGroup(adminUser.token, {
name: 'Shared project',
group_class: 'project',
name: 'Test collection',
owner_uuid: this.sharedGroup.uuid,
properties: { someKey: 'someValue' },
- manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n`
+ manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n./${subDirName} 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n`
})
.as('testCollection').then(function () {
// Share the group with active user.
head_uuid: this.sharedGroup.uuid,
tail_uuid: activeUser.user.uuid
})
- cy.doSearch(`${this.testCollection.uuid}`);
+ cy.goToPath(`/collections/${this.testCollection.uuid}`);
// Check that name & uuid are correct.
cy.get('[data-cy=collection-info-panel]')
.should(`${isWritable ? '' : 'not.'}contain`, 'Upload data');
}
});
+ // Test context menus
cy.get('[data-cy=collection-files-panel]')
.contains(fileName).rightclick({ force: true });
cy.get('[data-cy=context-menu]')
.and(`${isWritable ? '' : 'not.'}contain`, 'Rename')
.and(`${isWritable ? '' : 'not.'}contain`, 'Remove');
cy.get('body').click(); // Collapse the menu
+ cy.get('[data-cy=collection-files-panel]')
+ .contains(subDirName).rightclick({ force: true });
+ cy.get('[data-cy=context-menu]')
+ .should('not.contain', 'Download')
+ .and('contain', 'Open in new tab')
+ .and('contain', 'Copy to clipboard')
+ .and(`${isWritable ? '' : 'not.'}contain`, 'Rename')
+ .and(`${isWritable ? '' : 'not.'}contain`, 'Remove');
+ cy.get('body').click(); // Collapse the menu
// Hamburger 'more options' menu button
cy.get('[data-cy=collection-files-panel-options-btn]')
.click()
cy.get('[data-cy=collection-files-panel-options-btn]')
.click()
cy.get('[data-cy=context-menu]')
- // .should('contain', 'Download selected')
.should(`${isWritable ? '' : 'not.'}contain`, 'Remove selected')
cy.get('body').click(); // Collapse the menu
- // File item 'more options' button
- cy.get('[data-cy=file-item-options-btn')
- .click()
- cy.get('[data-cy=context-menu]')
- .should('contain', 'Download')
- .and(`${isWritable ? '' : 'not.'}contain`, 'Remove');
- cy.get('body').click(); // Collapse the menu
})
})
})
})
.as('testCollection').then(function () {
cy.loginAs(activeUser);
- cy.doSearch(`${this.testCollection.uuid}`);
+ cy.goToPath(`/collections/${this.testCollection.uuid}`);
const names = [
'bar', // initial name already set
cy.get('[data-cy=form-dialog]')
.should('contain', 'Rename')
.within(() => {
- cy.get('input').type(`{selectall}{backspace}${to}`);
+ cy.get('input')
+ .type('{selectall}{backspace}')
+ .type(to, { parseSpecialCharSequences: false });
});
cy.get('[data-cy=form-submit-btn]').click();
cy.get('[data-cy=collection-files-panel]')
})
.as('testCollection').then(function () {
cy.loginAs(activeUser);
- cy.doSearch(`${this.testCollection.uuid}`);
+ cy.goToPath(`/collections/${this.testCollection.uuid}`);
['subdir', 'G%C3%BCnter\'s%20file', 'table%&?*2'].forEach((subdir) => {
cy.get('[data-cy=collection-files-panel]')
})
.as('testCollection').then(function () {
cy.loginAs(activeUser);
- cy.doSearch(`${this.testCollection.uuid}`);
+ cy.goToPath(`/collections/${this.testCollection.uuid}`);
const illegalNamesFromUI = [
['.', "Name cannot be '.' or '..'"],
});
// Check the old version displays as what it is.
cy.loginAs(activeUser)
- cy.doSearch(`${oldVersionUuid}`);
+ cy.goToPath(`/collections/${oldVersionUuid}`);
cy.get('[data-cy=collection-info-panel]').should('contain', 'This is an old version');
cy.get('[data-cy=read-only-icon]').should('exist');
.as('collection').then(function () {
// Visit collection, check basic information
cy.loginAs(activeUser)
- cy.doSearch(`${this.collection.uuid}`);
+ cy.goToPath(`/collections/${this.collection.uuid}`);
cy.get('[data-cy=collection-info-panel]').should('not.contain', 'This is an old version');
cy.get('[data-cy=read-only-icon]').should('not.exist');
it('creates new collection on home project', function () {
cy.loginAs(activeUser);
- cy.doSearch(`${activeUser.user.uuid}`);
+ cy.goToPath(`/projects/${activeUser.user.uuid}`);
cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects');
cy.get('[data-cy=breadcrumb-last]').should('not.exist');
// Create new collection
cy.get('[data-cy=side-panel-button]').click();
cy.get('[data-cy=side-panel-new-collection]').click();
- const collName = `Test collection (${Math.floor(999999 * Math.random())})`;
+ // Name between brackets tests bugfix #17582
+ const collName = `[Test collection (${Math.floor(999999 * Math.random())})]`;
cy.get('[data-cy=form-dialog]')
.should('contain', 'New collection')
.within(() => {
cy.get('[data-cy=breadcrumb-first]').should('contain', 'Projects');
cy.get('[data-cy=breadcrumb-last]').should('contain', collName);
});
+
+ it('shows responsible person for collection if available', () => {
+ 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"
+ })
+ .as('testCollection1');
+
+ cy.createCollection(adminUser.token, {
+ name: `Test collection ${Math.floor(Math.random() * 999999)}`,
+ owner_uuid: adminUser.user.uuid,
+ manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
+ })
+ .as('testCollection2').then(function (testCollection2) {
+ cy.shareWith(adminUser.token, activeUser.user.uuid, testCollection2.uuid, 'can_write');
+ });
+
+ cy.getAll('@testCollection1', '@testCollection2')
+ .then(function ([testCollection1, testCollection2]) {
+ cy.loginAs(activeUser);
+
+ cy.goToPath(`/collections/${testCollection1.uuid}`);
+ cy.get('[data-cy=responsible-person-wrapper]')
+ .contains(activeUser.user.uuid);
+
+ cy.goToPath(`/collections/${testCollection2.uuid}`);
+ cy.get('[data-cy=responsible-person-wrapper]')
+ .contains(adminUser.user.uuid);
+ });
+ });
})