-
Notifications
You must be signed in to change notification settings - Fork 35
09 14 2022 Meeting
Meeting Minutes > 09/14/2022 Meeting
-
REDCap Con - Adam D. not attending this year
-
Updates to REDCap Cypress Test Framework (RCTF) & Automated Testing Subcommittee (ATS)
-
NEW: GitHub Pages Documentation using Documentation.js / JSDocs: https://aldefouw.github.io/redcap_cypress/
- Step Definition Documentation Page will help us to know what definitions are available on v11.1.5 to this point
-
NEW Step Definition Creation Process
- Determine section it belongs in (what file / subfolder in cypress/step_definitions)
- Determine scope it has (in general, let's strive to make our step definitions do one thing well)
- Create "Issue" on Github repo ( https://github.com/aldefouw/redcap_cypress/issues )
- Write the code for Step Definition, including documentation of what the method should do (example of documentation): https://github.com/aldefouw/redcap_cypress/blob/v11.1.5/cypress/support/step_definitions/interactions.js#L4-L13
- Run
npm run docs:build
command to update the /docs/index.html page - Push the code to your fork.
- Submit a Pull Request so it can be merged into base repository for global usage.
-
IMPROVED: Performance of Login Process
- https://github.com/aldefouw/redcap_cypress/commit/d91db4a3180a1a56570272157cdae79381f0fb76
- UI username / password login performance improved by changing type() method to direct invoking the value of the input field
- Band-aid to improve performance. Working to implement a true Cypress session method since Cookie Preservation is deprecated for future versions of Cypress.
-
NEW FEATURE: Ability to disable INITIAL DB seeding in Development
"mysql": {
"host": "127.0.0.1",
"path": "/usr/local/opt/[email protected]/bin/mysql",
"port": "3400",
"db_name": "redcap",
"db_user": "root",
"db_pass": "root",
"skip_db_seed": true
}
-
New "skip_db_seed" property available within "mysql" in cypress.env.json.
-
ONLY works in Development mode - each feature test CircleCI will always run from fresh reset DB state
-
Intended to speed up development if tests are constantly rerunning and state setup is not particularly important
-
Be mindful that database state is carried over on subsequent test runs if you do not reset
-
If test assertions are dependent upon past steps (most are in some way!) - your tests might fail or pass unexpectedly
-
"With great power comes great responsibility."
-
Translation: If this feature is enabled, it's up to you to figure out DB state. You've been warned =)
-
If feature is enabled and want to reset DB state without disabling this feature:
- Delete
/test_db/initial_db_seed.lock
and refresh your tests ... database state will be reset once. - Subsequent runs will skip initial seeding
- Delete
-
PROPOSED: Making Scenarios Clearer
- Hat tip to Madilynn Peterson for this idea
- Idea is to Number the Scenarios in Correspondence to Test Step # in Manual Validation Test Script
- https://github.com/mmpeterson24/redcap_cypress/blob/v11.1.5/cypress/features/core/pre-requisite/add_manage_users.feature
- Makes it much easier for someone else to pick up a script and take over if necessary
- What do people think of this idea?
- Updates on tests in progress. What do you need help on?