From: Daniel Kutyła Date: Tue, 13 Apr 2021 21:12:45 +0000 (+0200) Subject: Merge branch '17436-Favorites-in-workflow-picker-dialog-is-different-to-favorites' X-Git-Tag: 2.1.2.1~1 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/274f2f9408e4553643af1b8154050f052132714e?hp=df6fe23e1a7094526810d1add9be01781f81dd4a Merge branch '17436-Favorites-in-workflow-picker-dialog-is-different-to-favorites' closes #17436 Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła --- diff --git a/cypress/integration/favorites.spec.js b/cypress/integration/favorites.spec.js index 2afdf92e..c745e267 100644 --- a/cypress/integration/favorites.spec.js +++ b/cypress/integration/favorites.spec.js @@ -185,6 +185,13 @@ describe('Favorites tests', function () { }) .as('testWorkflow'); + cy.createWorkflow(adminUser.token, { + name: `TestWorkflow2-${Math.floor(Math.random() * 999999)}.cwl`, + definition: "{ \"$graph\": [ { \"$namespaces\": { \"arv\": \"http://arvados.org/cwl#\" }, \"class\": \"Workflow\", \"doc\": \"Detect blurriness of WSI data.\", \"id\": \"#main\", \"inputs\": [ { \"default\": { \"basename\": \"3d3cb547725e72ddb442bc620adbc342+2463\", \"class\": \"Directory\", \"location\": \"keep:3d3cb547725e72ddb442bc620adbc342+2463\" }, \"doc\": \"Collection containing all pipeline input images\", \"id\": \"#main/image_collection\", \"type\": \"Directory\" } ], \"outputs\": [ { \"id\": \"#main/blur_report\", \"outputSource\": \"#main/blurdetection/report\", \"type\": \"Any\" } ], \"steps\": [ { \"id\": \"#main/blurdetection\", \"in\": [ { \"id\": \"#main/blurdetection/image_collection\", \"source\": \"#main/image_collection\" } ], \"out\": [ \"#main/blurdetection/report\" ], \"run\": \"#blurdetection.cwl\" } ] }, { \"arguments\": [ \"--num_workers\", \"0\", \"--wsi_dir\", \"$(inputs.image_collection)\", \"--tile_out_dir\", \"$(runtime.outdir)\" ], \"baseCommand\": [ \"python3\", \"/updated_blur_on_folder.py\" ], \"class\": \"CommandLineTool\", \"hints\": [ { \"class\": \"DockerRequirement\", \"dockerPull\": \"updated_score_aws:cpu2\", \"http://arvados.org/cwl#dockerCollectionPDH\": \"0d6702518d1408ce2c471ffec40695cf+4924\" }, { \"class\": \"ResourceRequirement\", \"coresMin\": 8, \"ramMin\": 20000 }, { \"class\": \"http://arvados.org/cwl#RuntimeConstraints\", \"keep_cache\": 2000 } ], \"id\": \"#blurdetection.cwl\", \"inputs\": [ { \"doc\": \"Collection containing all pipeline input images\", \"id\": \"#blurdetection.cwl/image_collection\", \"type\": \"Directory\" } ], \"outputs\": [ { \"id\": \"#blurdetection.cwl/report\", \"outputBinding\": { \"glob\": \"*.csv\" }, \"type\": \"Any\" } ] } ], \"cwlVersion\": \"v1.0\" }", + owner_uuid: myProject1.uuid, + }) + .as('testWorkflow2'); + cy.contains('Shared with me').click(); cy.doSearch(`${activeUser.user.uuid}`); @@ -204,6 +211,21 @@ describe('Favorites tests', function () { cy.get('[data-cy=projects-tree-favourites-tree-picker]').contains('Favorites').closest('ul').find('i').click(); cy.get('@chooseFileDialog').find(`[data-id=${mySharedWritableProject.uuid}]`); cy.get('@chooseFileDialog').find(`[data-id=${mySharedReadonlyProject.uuid}]`); + cy.get('button').contains('Cancel').click(); + }); + + cy.get('button').contains('Back').click(); + + cy.get('@testWorkflow2') + .then((testWorkflow2) => { + cy.get('main').contains(testWorkflow2.name).click(); + cy.get('button').contains('Change Workflow').click(); + cy.get('[data-cy=run-process-next-button]').click(); + cy.get('[readonly]').click(); + cy.get('[data-cy=choose-a-directory-dialog]').as('chooseDirectoryDialog'); + cy.get('[data-cy=projects-tree-favourites-tree-picker]').contains('Favorites').closest('ul').find('i').click(); + cy.get('@chooseDirectoryDialog').find(`[data-id=${mySharedWritableProject.uuid}]`); + cy.get('@chooseDirectoryDialog').find(`[data-id=${mySharedReadonlyProject.uuid}]`); }); }); }); diff --git a/src/views/run-process-panel/inputs/directory-input.tsx b/src/views/run-process-panel/inputs/directory-input.tsx index 29ccd6e0..f687e28d 100644 --- a/src/views/run-process-panel/inputs/directory-input.tsx +++ b/src/views/run-process-panel/inputs/directory-input.tsx @@ -24,14 +24,18 @@ import { ERROR_MESSAGE } from '~/validators/require'; export interface DirectoryInputProps { input: DirectoryCommandInputParameter; + options?: { showOnlyOwned: boolean, showOnlyWritable: boolean }; } -export const DirectoryInput = ({ input }: DirectoryInputProps) => +export const DirectoryInput = ({ input, options }: DirectoryInputProps) => ; const format = (value?: Directory) => value ? value.basename : ''; @@ -56,7 +60,9 @@ interface DirectoryInputComponentState { } const DirectoryInputComponent = connect()( - class FileInputComponent extends React.Component { + class FileInputComponent extends React.Component { state: DirectoryInputComponentState = { open: false, }; @@ -113,12 +119,14 @@ const DirectoryInputComponent = connect()( open={this.state.open} onClose={this.closeDialog} fullWidth + data-cy="choose-a-directory-dialog" maxWidth='md'> Choose a directory diff --git a/src/views/run-process-panel/run-process-inputs-form.tsx b/src/views/run-process-panel/run-process-inputs-form.tsx index 3a0afd34..e6a504db 100644 --- a/src/views/run-process-panel/run-process-inputs-form.tsx +++ b/src/views/run-process-panel/run-process-inputs-form.tsx @@ -92,7 +92,7 @@ const getInputComponent = (input: CommandInputParameter) => { return ; case isPrimitiveOfType(input, CWLType.DIRECTORY): - return ; + return ; case typeof input.type === 'object' && !(input.type instanceof Array) &&