From 09eb09cec6185c482a0e4f98f6b432c93990d3d8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kuty=C5=82a?= Date: Tue, 13 Apr 2021 22:26:58 +0200 Subject: [PATCH] 17436: Fixed directory chooser added test to coverage this exception MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła --- cypress/integration/favorites.spec.js | 24 ++++++++++++++++++- .../inputs/directory-input.tsx | 12 ++++++++-- .../run-process-inputs-form.tsx | 2 +- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/cypress/integration/favorites.spec.js b/cypress/integration/favorites.spec.js index 2afdf92e..eaeb6644 100644 --- a/cypress/integration/favorites.spec.js +++ b/cypress/integration/favorites.spec.js @@ -153,7 +153,7 @@ describe('Favorites tests', function () { }); }); - it('can view favourites in workflow', () => { + it.only('can view favourites in workflow', () => { cy.createProject({ owningUser: adminUser, targetUser: activeUser, @@ -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) && -- 2.30.2