05 14 2025 Meeting - vanderbilt-redcap/redcap_cypress GitHub Wiki

We've Moved!

  • Ownership change: Vanderbilt now officially manages and maintains the repositories

All REDCap Cypress Test Framework related code repositories are now located under the official Vanderbilt REDCap account on GitHub: vanderbilt-redcap

Primary Impact:

Secondary Impact:

  • Shift in focus for our subcommittee

Automated Testing Subcommittee

  • Period of transition. Spoke about during February meeting <= you can watch that meeting at link

  • Can't view above link? Contact me, and I'll add your permissions.

  • Tooling developed for the REDCap Cypress Test Framework can be used in other ways outside of 21CFR Part 11 validation efforts

Next Steps for ATS

Focus on consortium-wide and institution-specific efforts outside of 21CFR Part 11.

Consortium Wide

  • External Modules

Institution Specific

  • External Modules
  • Hooks
  • Plugins

Two specific focuses identified:

Focus #1: How to implement External Module support into RCTF

Sample: Enable an External Module

Feature: External Module Test

  As a REDCap Test Admin
  I want to see that External Modules are capable of being enabled

  Scenario: Enable an External Module

    Given I login to REDCap with the user "Test_Admin"
    When I click on the link labeled "Control Center"
    Then I should see a link labeled exactly "Manage"
    And I should see a link labeled exactly "View Logs"

    Given I click on the link labeled exactly "Manage"
    Then I should see "External Modules - Module Manager"

    Given I click on the button labeled "Enable a module"
    Then I should see "Available Modules" in the dialog box

    Given I see "Configuration Example" in the dialog box
    When I click on the button labeled "Enable"
    Then I should see "Enable Module:" in the dialog box
    And I should see "redcap_module_ajax" in the dialog box
    And I should see "redcap_survey_page" in the dialog box
    And I should see "redcap_module_api_before" in the dialog box

    Given I click on the button labeled exactly "Enable"
    Then I should see "Modules Currently Available on this System"
    And I should see "Configuration Example - v0.1"
    And I should see "Example module to show off all the options available"
    And I should see "by Kyle McGuffin (Vanderbilt University Medical Center)"    

  Scenario: Enable a Versioned Module

    Given I see "External Modules - Module Manager"
    When I click on the button labeled "Enable a module"
    Then I should see "Available Modules" in the dialog box

    Given I see "Project Portal" in the dialog box
    And I select "v1.0.2" in the dropdown field labeled "Project Portal" in the dialog box
    When I click on the button labeled "Enable"
    Then I should see "Enable Module:" in the dialog box
    And I should NOT see "redcap_module_ajax" in the dialog box
    And I should see "redcap_every_page_top" in the dialog box
    And I should see "redcap_data_entry_form" in the dialog box

    Given I click on the button labeled exactly "Enable"
    Then I should see "Modules Currently Available on this System"
    And I should see "Project Portal - v1.0.2"
    And I should see "Open an a simple modal window to another REDCap page or anywhere else."
    And I should see "Adam Nunez (UW Madison - Center for Tobacco Research and Intervention)"
    And I should see "Todd Hayes-Birchler (UW Madison - Center for Tobacco Research and Intervention)" 

Prerequisites:

  • Need External Module source code in the /modules/ directory of your redcap_source directory

For example:

  • /modules/project_portal_v1.0.2
  • /modules/project_portal_v1.0.3

Impact

  • You can Enable an External Module using base functionality of RCTF
  • The functionality can likely be tested as well - it's going to depend on what the EM does
  • If functionality falls outside of library step definition capabilities, new step definitions can be added to /step_definitions/ folder locally