class: http://arvados.org/cwl#WorkflowRunnerResources
id: "#main"
inputs:
- - default: []
- id: "#main/bar"
+ - id: "#main/bar"
type:
items: Directory
type: array
- - default: []
- id: "#main/foo"
+ - id: "#main/foo"
type:
items: File
type: array
--- /dev/null
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+---
+"$graph":
+- class: Workflow
+ cwlVersion: v1.2
+ hints:
+ - acrContainerImage: 7009415fdc959d0c2819ee2e9db96561+261
+ class: http://arvados.org/cwl#WorkflowRunnerResources
+ id: "#main"
+ inputs:
+ - default: []
+ id: "#main/bar"
+ type:
+ items: Directory
+ type: array
+ - default: []
+ id: "#main/foo"
+ type:
+ items: File
+ type: array
+ outputs: []
+ steps: []
+cwlVersion: v1.2
.find('button').contains('Run Process').should('not.be.disabled');
});
});
+
+ ['workflow_with_array_fields.yaml', 'workflow_with_default_array_fields.yaml'].forEach((yamlfile) =>
+ it('can select multi files when creating workflow '+yamlfile, () => {
+ cy.createProject({
+ owningUser: activeUser,
+ projectName: 'myProject1',
+ addToFavorites: true
+ });
+
+ 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. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n"
+ })
+ .as('testCollection');
+
+ cy.createCollection(adminUser.token, {
+ name: `Test collection ${Math.floor(Math.random() * 999999)}`,
+ owner_uuid: activeUser.user.uuid,
+ manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:buz\n`
+ })
+ .as('testCollection2');
+
+ cy.getAll('@myProject1', '@testCollection', '@testCollection2')
+ .then(function ([myProject1, testCollection, testCollection2]) {
+ cy.readFile('cypress/fixtures/'+yamlfile).then(workflow => {
+ cy.createWorkflow(adminUser.token, {
+ name: `TestWorkflow${Math.floor(Math.random() * 999999)}.cwl`,
+ definition: workflow,
+ owner_uuid: myProject1.uuid,
+ })
+ .as('testWorkflow');
+ });
+
+ cy.loginAs(activeUser);
+
+ cy.get('main').contains(myProject1.name).click();
+
+ cy.get('[data-cy=side-panel-button]').click();
+
+ cy.get('#aside-menu-list').contains('Run a process').click();
+
+ cy.get('@testWorkflow')
+ .then((testWorkflow) => {
+ cy.get('main').contains(testWorkflow.name).click();
+ cy.get('[data-cy=run-process-next-button]').click();
+
+ cy.get('label').contains('#main/foo').parent('div').find('input').click();
+ cy.get('div[role=dialog]')
+ .within(() => {
+ cy.get('p').contains('Projects').closest('div[role=button]')
+ .within(() => {
+ cy.get('svg[role=presentation]')
+ .click({ multiple: true });
+ });
+
+ cy.get(`[data-id=${testCollection.uuid}]`)
+ .find('i').click();
+
+ cy.contains('bar').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
+
+ cy.contains('baz').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
+
+ cy.get('[data-cy=ok-button]').click();
+ });
+
+ cy.get('label').contains('#main/bar').parent('div').find('input').click();
+ cy.get('div[role=dialog]')
+ .within(() => {
+ cy.get('p').contains('Projects').closest('div[role=button]')
+ .within(() => {
+ cy.get('svg[role=presentation]')
+ .click({ multiple: true });
+ });
+
+ cy.get(`[data-id=${testCollection.uuid}]`)
+ .find('input[type=checkbox]').click();
+
+ cy.get(`[data-id=${testCollection2.uuid}]`)
+ .find('input[type=checkbox]').click();
+
+ cy.get('[data-cy=ok-button]').click();
+ });
+ });
+
+ cy.get('label').contains('#main/foo').parent('div')
+ .within(() => {
+ cy.contains('baz');
+ cy.contains('bar');
+ });
+
+ cy.get('label').contains('#main/bar').parent('div')
+ .within(() => {
+ cy.contains(testCollection.name);
+ cy.contains(testCollection2.name);
+ });
+ });
+ }));
})
});
});
});
-
- it('can select multi files when creating workflow', () => {
- cy.createProject({
- owningUser: activeUser,
- projectName: 'myProject1',
- addToFavorites: true
- });
-
- 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. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n"
- })
- .as('testCollection');
-
- cy.createCollection(adminUser.token, {
- name: `Test collection ${Math.floor(Math.random() * 999999)}`,
- owner_uuid: activeUser.user.uuid,
- manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:buz\n`
- })
- .as('testCollection2');
-
- cy.getAll('@myProject1', '@testCollection', '@testCollection2')
- .then(function ([myProject1, testCollection, testCollection2]) {
- cy.readFile('cypress/fixtures/workflow_with_array_fields.yaml').then(workflow => {
- cy.createWorkflow(adminUser.token, {
- name: `TestWorkflow${Math.floor(Math.random() * 999999)}.cwl`,
- definition: workflow,
- owner_uuid: myProject1.uuid,
- })
- .as('testWorkflow');
- });
-
- cy.loginAs(activeUser);
-
- cy.get('main').contains(myProject1.name).click();
-
- cy.get('[data-cy=side-panel-button]').click();
-
- cy.get('#aside-menu-list').contains('Run a process').click();
-
- cy.get('@testWorkflow')
- .then((testWorkflow) => {
- cy.get('main').contains(testWorkflow.name).click();
- cy.get('[data-cy=run-process-next-button]').click();
-
- cy.get('label').contains('#main/foo').parent('div').find('input').click();
- cy.get('div[role=dialog]')
- .within(() => {
- cy.get('p').contains('Projects').closest('div[role=button]')
- .within(() => {
- cy.get('svg[role=presentation]')
- .click({ multiple: true });
- });
-
- cy.get(`[data-id=${testCollection.uuid}]`)
- .find('i').click();
-
- cy.contains('bar').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
-
- cy.contains('baz').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
-
- cy.get('[data-cy=ok-button]').click();
- });
-
- cy.get('label').contains('#main/bar').parent('div').find('input').click();
- cy.get('div[role=dialog]')
- .within(() => {
- cy.get('p').contains('Projects').closest('div[role=button]')
- .within(() => {
- cy.get('svg[role=presentation]')
- .click({ multiple: true });
- });
-
- cy.get(`[data-id=${testCollection.uuid}]`)
- .find('input[type=checkbox]').click();
-
- cy.get(`[data-id=${testCollection2.uuid}]`)
- .find('input[type=checkbox]').click();
-
- cy.get('[data-cy=ok-button]').click();
- });
- });
-
- cy.get('label').contains('#main/foo').parent('div')
- .within(() => {
- cy.contains('baz');
- cy.contains('bar');
- });
-
- cy.get('label').contains('#main/bar').parent('div')
- .within(() => {
- cy.contains(testCollection.name);
- cy.contains(testCollection2.name);
- });
- });
- });
-});
\ No newline at end of file
+});
});
const formatDirectories = (directories: Directory[] = []) =>
- directories.map(format);
+ directories ? directories.map(format) : [];
const format = ({ location = '', basename = '' }: Directory): FormattedDirectory => ({
portableDataHash: location.replace('keep:', ''),
});
type DialogContentCssRules = 'root' | 'tree' | 'divider' | 'chips';
-
-
-
});
const formatFiles = (files: File[] = []) =>
- files.map(format);
+ files ? files.map(format) : [];
const format = (file: File): CollectionFile => ({
id: file.location
});
type DialogContentCssRules = 'root' | 'tree' | 'divider' | 'chips';
-
-
-