Skip to content
Snippets Groups Projects
Commit 1b890e80 authored by sveseli's avatar sveseli
Browse files

Merge branch 'dev' into 'master'

create gui test guide

See merge request !3
parents e4aa397f 5f5725c5
No related branches found
No related tags found
1 merge request!3create gui test guide
# Data Management Station UI Test Guide
## Running the Test Suite
Be sure the services are running. Services live in
`data-management/etc/init.d`
To run the gui:
```
source etc/dm.setup.sh
dm-station-gui
```
To run the test cases:
```
source etc/dm.setup.sh
cd data-management/src/python/dm/aps_beamline_tools/gui
python dmStationUiTest.py
```
## Coverage
To run with coverage:
```
python -m coverage run dmStationUiTest.py
python -m coverage report
python -m coverage html #detailed html reports
```
Last run coverage: 48%
## Test Scenarios
### Experiment tab
- [X] table contains all experiments
- [X] clicking `add experiment` button switches to `ESAF list` tab if ESAF list
- [X] clicking `add experiment` button switches to `experiment settings` tab if no ESAF list
- [X] clicking `use selected` button switches to `experiment settings` tab with experiment info filled in
- [ ] clicking `delete experiment` button opens `delete experiment` modal
- [X] clicking `refresh` button, actually refreshes
- [X] `use selected` and `delete experiment` buttons disabled when no experiment selected
- [ ] clicking experiment changes row color to blue and enables `use selected` and `delete experiment` buttons
- [X] double clicking experiment opens `experiment settings` tab
### ESAF List tab
- [ ] shows list of ESAFs
- [ ] clicking esaf changes row color to blue
- [ ] double clicking esaf opens `experiment settings` tab with users populated
- [ ] `show details` and `use esaf` buttons disabled if no esaf is selected
- [ ] clicking `continue manually` button opens `experiment settings` tab with no users populated
- [ ] `current year` selection box has years for all experiment and filters list by year
- [ ] clicking `show details` button ?
- [ ] clicking `use esaf` button opens `experiment settings` tab with users populated
- [ ] clicking `use gup db` button changes list to be populated with gups, `use esaf` button to `use gup` button, and year filter option to run filter option.
### Experiment Settings tab
- [ ] clicking `back` button return to `experiment list` tab
- [ ] clicking `file collection stats` button error pop up if not saved
- [ ] clicking `file collection stats`opens `file collection stats` modal
- [ ] clicking `view files` opens `files list` tab
- [ ] can enter name, description, storage root path, additional params
- [ ] able to set date by typing or clicking calendar
- [ ] clicking calendar button opens calendar
- [ ] clicking date on calendar closes calendar
- [ ] choosing an end date which is before the start date opens error pop up and sets end date equal to start date
- [ ] choosing a start date which is after the end date opens error pop up and sets start date equal to end date
- [ ] `type` is populated with experiment types and able to select from drop down
- [ ] default experiment type is correct
- [ ] clicking `save` button will save experiment
- [ ] clicking `save` button with no name opens error pop up
- [ ] clicking `save` button opens save experiment modal
- [ ] clicking `save` button with no changes opens error pop up
- [ ] clicking `save` button opens error pop up for name or path changes if daq or upload in progress
- [ ] clicking `modify users` button opens `modify users` tab
- [ ] clicking `browse` button opens file system view
- [ ] typing in experiment file path shows drop down for `experiment file path`
- [ ] `start daq`, `start upload`, and wrench buttons are disabled if data directory is empty
- [ ] clicking `start daq` button creates, runs new daq with values set in daq system params modal and additional params and switch to `daqs list` tab
- [ ] clicking `start upload` button creates, runs new upload with values set in upload params modal and additional params and switch to `uploads list` tab
- [ ] daq wrench opens daq parameter pop up
- [ ] upload wrench opens upload params
- [ ] users list is by default populated with the station managers
- [ ] modifying the storage root path and clicking the `save` button moves the already collected data to the new path and removes it from the old location
### DAQs tab
- [ ] clicking a row changes color to blue
- [ ] row is green for daq with status 'done', yellow for 'running', red for failed?
- [ ] double clicking row opens upload details tab
- [ ] clicking `start new` button opens the `experiments list` tab
- [ ] clicking `show details` button opens the `daq details` tab
- [ ] clicking `clear selected` button removes selected daq from list. Is it deleted?
- [ ] `Stop selected`, `clear selected`, `show details` buttons disabled if nothing selected
- [ ] `Stop selected` button is disabled if selected daq is not running
- [ ] `Clear selected` button is disabled if selected daq is running
- [ ] clicking `refresh` button actually refreshes
- [ ] Uploads go to uploads tab, daqs go to daq tab and not the other way
- [ ] daqs do not end unless the `stop selected` button is clicked or they reach the maximum run time set in the daq params
### Uploads tab
- [ ] clicking a row changes color to blue
- [ ] row is green for uploads with status 'done', other colors other status?
- [ ] double clicking row opens upload details tab
- [ ] clicking `start new` button opens the `experiments list` tab
- [ ] clicking `show details` button opens the `upload details` tab
- [ ] clicking `clear selected` button removes selected upload from list. Is it deleted?
- [ ] `Stop selected`, `clear selected`, `show details` buttons disabled if nothing selected
- [ ] `Stop selected` button disabled if selected upload not running
- [ ] `Clear selected` button disabled if selected upload running
- [ ] clicking the `refresh` button actually refreshes
### Upload Details tab
- [ ] Check the size is good
- [ ] clicking row changes color to blue
- [ ] clicking `back` button opens `upload list` tab
### DAQ Details tab
- [ ] Check the size is good
- [ ] clicking row changes color to blue
- [ ] clicking `back` button opens `DAQ list` tab
### Workflows tab
- [ ] shows all the existing workflows
- [ ] double clicking on a workflow opens `workflow details` tab
- [ ] single clicking a workflow changes the row color to blue
- [ ] clicking on `inspect` button opens `workflow details` tab
- [ ] clicking `add workflow` button adds a new workflow
- [ ] clicking `delete workflow` button deletes the workflow and removes it from list
### Workflow Details tab
- [ ] shows all the steps
- [ ] clicking a step changes the row color to blue
- [ ] `modify step` button is disabled if no step selected
- [ ] clicking `add step` button opens `add step` modal
- [ ] clicking `modify step` button opens `modify step` modal
- [ ] clicking `back` button returns to `workflows list` tab
### Processing Jobs tab
- [ ] shows list of processing jobs
- [ ] row color is green for done, red for failed, ? for in progess
- [ ] `show details` button is disabled if no job selected
- [ ] clicking `refresh` button updates list when there is a change
- [ ] clicking `show details` button opens `processing job details` tab populated with correct data for that job
- [ ] double clicking on a row opens `processing job details` tab with correct data for that job
- [ ] single clicking on a row changes row to blue, cell to dark blue
### Processing Job Details tab
- [ ] table shows details for selected processing job
- [ ] clicking `refresh` button updates table (create a job which takes some time to run and wait for it to finish)
- [ ] clicking `back` button opens `processing jobs list` tab
### Settings tab
- [ ] shows default refresh intervals all set to 60
- [ ] able to edit all 4 refresh intervals
- [ ] clicking `save` button changes the interval
- [ ] interval of 0 means no refresh
- [ ] hovering over input box opens tooltip
- [ ] inputs outside of range 0-1000 cannot be entered, and only numbers
- [ ] saving an empty input resets its value to 60
### File List tab
- [ ] list shows all files
- [ ] clicking `back` button opens `experiment settings` tab
- [ ] able to add search terms for name, size, date, path
- [ ] clicking `search` button filters list to match search terms
- [ ] clicking `search` button with empty inputs shows entire list
- [ ] clicking file changes row color to blue
- [ ] double clicking file opens `file details` tab
- [ ] `show details` button disabled when no file selected
- [ ] clicking `show details` button opens `file details` tab
- [ ] clicking `update compression` button changes buttons at bottom of tab to `update all`, `compress all`, `decompress all`, and adds check boxes in compression column
- [ ] able to click/unclick compression checkboxes
- [ ] clicking `update all` button compresses or decompresses files based on checkbox value
- [ ] clicking `compress all` button compresses all files
- [ ] clicking `decompress all` button decompresses all files
- [ ] compression changes only apply to files shown after being filetered by search
- [ ] compressing/decompressing a file which is already compressed/decompressed is a noop
- [ ] hovering over compression buttons opens tooltip
- [ ] clicking `back button` removes compression buttons/checkboxes returning to regular `file list` tab
- [ ] clicking `show details` button opens `file details` tab for selected file
- [ ] `go to` button ?? doing it wrong opens bin not found error pop up
### File Details tab
- [ ] shows details for selected file
- [ ] if there are no files, stats show empty value '-' or 0
- [ ] clicking `back` button opens `file list` tab
### Modify Users tab
- [ ] by default, beamline managers are added to user list
- [ ] clicking `back` button opens `experiment settings` tab
- [ ] clicking a user changes row color to blue
- [ ] clicking `<->` button moves selected users to the other list (swap if one selected in both lists)
- [ ] double clicking a user moves them to the other list
- [ ] input fields filter user list
- [ ] clicking `reset` button undoes any changes made since last save
- [ ] clicking `reset` button with a new experiment is a noop
- [ ] clicking `save` button opens `experiment settings` tab with updated users list
- [ ] show proposals, users list, and year select hidden if no ESAFs
- [ ] clicking `show proposals` button switches list to proposals and changes `year` select to `run` select
- [ ] selecting esaf/proposal from select box populates list with users from that esaf/proposal
- [ ] default value for esaf/proposal select box is 'all users'
- [ ] selecting year from year select box changes options in esaf/proposal select box to those from that year, sets selection to default 'all users' and resets user list
### System Parameters for DAQ modal
- [ ] `process hidden files` has true/false options, false default
- [ ] `process existing` has true/false options, false default
- [ ] hovering over each input field opens a tooltip
- [ ] `max runtime` in hours can be set with arrows or typing, numeric only
- [ ] `max runtime` has max value of 10000
- [ ] clicking `browse` button opens file system view and sets destination directory
- [ ] clicking `done` button closes the modal with daq params saved
### System Parameters for Upload modal
- [ ] `process hidden files` has true/false options
- [ ] `reprocess files` has true/false options, false default
- [ ] processing modes are 'file' or 'directory'
- [ ] hovering over each input field opens a tooltip
- [ ] clicking `done` button closes the modal with upload params saved
### File Collection Stats modal
- [ ] shows file stats from database
- [ ] clicking `done` button closes the modal
### Modify Workflow Step modal
- [ ] shows selected step in input field which can be edited
- [ ] (clarify regex buttons behaviour)
- [ ] clicking `save` button saves the modifed workflow step and closes the modal. Changes seen in `workflow steps` list
- [ ] clicking the `cancel` button does not save the modifed workflow step and closes the modal
### Add workflow Step modal
- [ ] (clarify regex buttons behaviour)
- [ ] clicking `save` button saves the new workflow step and closes the modal. new step shown in `workflow steps` list
- [ ] clicking the `cancel` button does not save the new workflow step and closes the modal
### Save Experiment Settings modal
- [ ] displays "are you sure you want to make change" for existing experiment
- [ ] clicking `yes` button saves experiment changes and closes modal
- [ ] clicking `no` button does not save experiment change and closes modal
### Delete Experiment modal
- [ ] says correct number of associated files
- [ ] files are actually removed on clicking `yes` button
- [ ] experiment is removed on ‘yes’
- [ ] files aren’t remove on ‘no’
- [ ] experiment isn’t removed on ‘no’
### DM Unexpected Error modal
- [ ] clicking `show details` button shows the error message
- [ ] clicking `quit` button exits the gui
- [ ] clicking `notify admin` button sends error report to dm-admin email (probably only test manually)
### Integrations
UI robust to connection failures with:
- [ ] UserDsApi
- [ ] EsafApsDbApi
- [ ] ExperimentDsApi
- [ ] FileDsApi
- [ ] ExperimentDaqApi
- [ ] BssApsDbApi
- [ ] ApsUserDbApi
- [ ] FileCatApi
- [ ] WorkflowProcApi
## Issues
- start daq warning pop up gives a whole list of potential problems but it could instead tell you which depending on the error/check that failed
- file collection stats button shows error pop up if not saved, view files is hidden if not saved (inconsistent)
- Implement workflows tab
- File details tab shows the search bar from file list tab at the top
- clicking go to button in file list tab crashes program if input field is empty or non numeric
- Experiment file path for single file upload
- experiment types populate from db
## Questions
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment