Skip to content

262 add config to allow download of exports in the frontend - #320

Open
aluapaula wants to merge 47 commits into
v3.4.0from
262-add-config-to-allow-download-of-exports-in-the-frontend
Open

262 add config to allow download of exports in the frontend#320
aluapaula wants to merge 47 commits into
v3.4.0from
262-add-config-to-allow-download-of-exports-in-the-frontend

Conversation

@aluapaula

Copy link
Copy Markdown
Collaborator

No description provided.

ywarnecke and others added 30 commits April 22, 2026 11:18
…not-saved-correctly-for-redcap-templates

Adjusted REDCap Mapping to show rules correctly
- Upgraded HAPI FHIR to 8.8.1
- Upgraded org.hl7 packages to 6.9.4
- Upgraded maven-artifact to 3.9.15
- Upgraded bouncycastle packages to 1.84
- Upgraded tyhmeleaf packages to 3.1.4.RELEASE
…ller, to provide better maintainability and readability
…ller, to provide better maintainability and readability.
…ller, to provide better maintainability and readability.
…ller, to provide better maintainability and readability.
…ion-page-for-scheduled-encounters

307 fix layout of language selection page for scheduled encounters
ywarnecke and others added 17 commits May 27, 2026 16:35
…duled-encounters-with-export-templates

306 fix deletion of finished scheduled encounters with export templates
….4.0

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
…ng without persisting, transmitting or recording an export history entry
…ownloadTest.java for Encounter-Download function
 add guard check to ensure enablement of download in configuration
…s-in-the-frontend

# Conflicts:
#	pom.xml
#	src/main/java/de/imi/mopat/config/AppConfig.java
#	src/main/java/de/imi/mopat/controller/EncounterController.java
#	src/main/java/de/imi/mopat/controller/SurveyController.java
#	src/main/resources/message/messages_de_DE.properties
#	src/main/webapp/WEB-INF/fragments/resourceFragment.html
#	src/main/webapp/WEB-INF/layout/error.html
#	src/main/webapp/WEB-INF/layout/login.html
#	src/main/webapp/WEB-INF/layout/main.html
#	src/main/webapp/WEB-INF/layout/mobile.html
#	src/main/webapp/WEB-INF/layout/mobileQuestionnaire.html
#	src/main/webapp/WEB-INF/layout/mobileUser.html
#	src/main/webapp/WEB-INF/layout/pinlogin.html
@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1056 ran1046 passed10 skipped0 failed
🌐 Selenium Test Results

Running Test: test_admin_interface_conditions

Successfully ran Test without Errors

Running Test: test_admin_interface_index

Successfully ran Test without Errors

Running Test: test_admin_interface_login

Successfully ran Test without Errors

Running Test: test_admin_interface_questionnaire_question_types_score

Successfully ran Test without Errors

Running Test: test_bundle_fill

Successfully ran Test without Errors

Running Test: test_bundle_list

Successfully ran Test without Errors

Running Test: test_clinic_fill

Successfully ran Test without Errors

Running Test: test_clinic_list

Successfully ran Test without Errors

Running Test: test_configuration_edit

Successfully ran Test without Errors

Running Test: test_encounter_list

Test ran with errors:


--- Stack Trace ---
Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 44, in click_element
    element = WebDriverWait(self.driver, timeout).until(EC.element_to_be_clickable(selector))
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 
Stacktrace:
#0 0x5569492b30ca <unknown>
#1 0x556948f7f2b0 <unknown>
#2 0x556948fceb22 <unknown>
#3 0x556948fcedc1 <unknown>
#4 0x556949014994 <unknown>
#5 0x556948ff392d <unknown>
#6 0x556949011e26 <unknown>
#7 0x556948ff36a3 <unknown>
#8 0x556948fc14f3 <unknown>
#9 0x556948fc24fe <unknown>
#10 0x556949279d7b <unknown>
#11 0x55694927dd31 <unknown>
#12 0x556949265c85 <unknown>
#13 0x55694927e8a2 <unknown>
#14 0x55694924ae1f <unknown>
#15 0x5569492a1e48 <unknown>
#16 0x5569492a2013 <unknown>
#17 0x5569492b1ebc <unknown>
#18 0x7f370d52dac3 <unknown>


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 126, in navigate_to_manage_surveys
    self.utils.click_element(NavigationBarSelectors.SurveysMenu.BUTTON)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 54, in click_element
    raise Exception(f"Timeout while waiting for element {selector} to be clickable.")
Exception: Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/selenium_tests.py", line 613, in test_encounter_list
    encounter_id = self.encounter_helper.schedule_encounter("123456", clinic["name"], bundle["name"], "test@email.com", EncounterScheduleType.UNIQUELY,(datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y-%m-%d"))
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Encounter.py", line 132, in schedule_encounter
    self.navigation_helper.navigate_to_manage_surveys()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 129, in navigate_to_manage_surveys
    raise Exception(f"Failed to navigate to 'Manage Surveys': {e}")
Exception: Failed to navigate to 'Manage Surveys': Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 606, in _callTestMethod
    if method() is not None:
       ~~~~~~^^
  File "/home/runner/work/MoPat/MoPat/selenium/selenium_tests.py", line 615, in test_encounter_list
    self.fail(f"Failed to schedule encounter: {e}")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 732, in fail
    raise self.failureException(msg)
AssertionError: Failed to schedule encounter: Failed to navigate to 'Manage Surveys': Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

None

--- End of Trace ---

Running Test: test_encounter_schedule

Test ran with errors:


--- Stack Trace ---
Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 44, in click_element
    element = WebDriverWait(self.driver, timeout).until(EC.element_to_be_clickable(selector))
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 
Stacktrace:
#0 0x55cc2a2b20ca <unknown>
#1 0x55cc29f7e2b0 <unknown>
#2 0x55cc29fcdb22 <unknown>
#3 0x55cc29fcddc1 <unknown>
#4 0x55cc2a013994 <unknown>
#5 0x55cc29ff292d <unknown>
#6 0x55cc2a010e26 <unknown>
#7 0x55cc29ff26a3 <unknown>
#8 0x55cc29fc04f3 <unknown>
#9 0x55cc29fc14fe <unknown>
#10 0x55cc2a278d7b <unknown>
#11 0x55cc2a27cd31 <unknown>
#12 0x55cc2a264c85 <unknown>
#13 0x55cc2a27d8a2 <unknown>
#14 0x55cc2a249e1f <unknown>
#15 0x55cc2a2a0e48 <unknown>
#16 0x55cc2a2a1013 <unknown>
#17 0x55cc2a2b0ebc <unknown>
#18 0x7f9d78f7dac3 <unknown>


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 126, in navigate_to_manage_surveys
    self.utils.click_element(NavigationBarSelectors.SurveysMenu.BUTTON)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 54, in click_element
    raise Exception(f"Timeout while waiting for element {selector} to be clickable.")
Exception: Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/selenium_tests.py", line 689, in test_encounter_schedule
    encounter_id = self.encounter_helper.schedule_encounter("123456", clinic["name"], bundle["name"], "test@email.com", EncounterScheduleType.UNIQUELY,(datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y-%m-%d"))
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Encounter.py", line 132, in schedule_encounter
    self.navigation_helper.navigate_to_manage_surveys()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 129, in navigate_to_manage_surveys
    raise Exception(f"Failed to navigate to 'Manage Surveys': {e}")
Exception: Failed to navigate to 'Manage Surveys': Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/selenium_tests.py", line 691, in test_encounter_schedule
    self.fail(f"Failed to schedule encounter: {e}")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 732, in fail
    raise self.failureException(msg)
AssertionError: Failed to schedule encounter: Failed to navigate to 'Manage Surveys': Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 44, in click_element
    element = WebDriverWait(self.driver, timeout).until(EC.element_to_be_clickable(selector))
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 
Stacktrace:
#0 0x55cc2a2b20ca <unknown>
#1 0x55cc29f7e2b0 <unknown>
#2 0x55cc29fcdb22 <unknown>
#3 0x55cc29fcddc1 <unknown>
#4 0x55cc2a013994 <unknown>
#5 0x55cc29ff292d <unknown>
#6 0x55cc2a010e26 <unknown>
#7 0x55cc29ff26a3 <unknown>
#8 0x55cc29fc04f3 <unknown>
#9 0x55cc29fc14fe <unknown>
#10 0x55cc2a278d7b <unknown>
#11 0x55cc2a27cd31 <unknown>
#12 0x55cc2a264c85 <unknown>
#13 0x55cc2a27d8a2 <unknown>
#14 0x55cc2a249e1f <unknown>
#15 0x55cc2a2a0e48 <unknown>
#16 0x55cc2a2a1013 <unknown>
#17 0x55cc2a2b0ebc <unknown>
#18 0x7f9d78f7dac3 <unknown>


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 126, in navigate_to_manage_surveys
    self.utils.click_element(NavigationBarSelectors.SurveysMenu.BUTTON)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 54, in click_element
    raise Exception(f"Timeout while waiting for element {selector} to be clickable.")
Exception: Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/unittest/case.py", line 606, in _callTestMethod
    if method() is not None:
       ~~~~~~^^
  File "/home/runner/work/MoPat/MoPat/selenium/selenium_tests.py", line 694, in test_encounter_schedule
    self.encounter_helper.delete_scheduled_encounter(encounter_id, "123456")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Encounter.py", line 155, in delete_scheduled_encounter
    self.navigation_helper.navigate_to_manage_surveys()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Navigation.py", line 129, in navigate_to_manage_surveys
    raise Exception(f"Failed to navigate to 'Manage Surveys': {e}")
Exception: Failed to navigate to 'Manage Surveys': Timeout while waiting for element ('id', 'surveyDropdownLink') to be clickable.

None

--- End of Trace ---

Running Test: test_git_info

Successfully ran Test without Errors

Running Test: test_invitation_edit

Successfully ran Test without Errors

Running Test: test_invitation_list

Successfully ran Test without Errors

Running Test: test_login_admin

Successfully ran Test without Errors

Running Test: test_mobile_encounter_interface_test

Successfully ran Test without Errors

Running Test: test_one_time_statistic

Successfully ran Test without Errors

Running Test: test_questionnaire_export_automatic_mapping

Successfully ran Test without Errors

Running Test: test_user_list

Successfully ran Test without Errors

Running Test: test_user_mail_to_all

Successfully ran Test without Errors

Test Summary

Total Tests Run: 20

Successful Tests (18/20):

  • test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)
  • test_admin_interface_index (__main__.CustomChromeTest.test_admin_interface_index)
  • test_admin_interface_login (__main__.CustomChromeTest.test_admin_interface_login)
  • test_admin_interface_questionnaire_question_types_score (__main__.CustomChromeTest.test_admin_interface_questionnaire_question_types_score)
  • test_bundle_fill (__main__.CustomChromeTest.test_bundle_fill)
  • test_bundle_list (__main__.CustomChromeTest.test_bundle_list)
  • test_clinic_fill (__main__.CustomChromeTest.test_clinic_fill)
  • test_clinic_list (__main__.CustomChromeTest.test_clinic_list)
  • test_configuration_edit (__main__.CustomChromeTest.test_configuration_edit)
  • test_git_info (__main__.CustomChromeTest.test_git_info)
  • test_invitation_edit (__main__.CustomChromeTest.test_invitation_edit)
  • test_invitation_list (__main__.CustomChromeTest.test_invitation_list)
  • test_login_admin (__main__.CustomChromeTest.test_login_admin)
  • test_mobile_encounter_interface_test (__main__.CustomChromeTest.test_mobile_encounter_interface_test)
  • test_one_time_statistic (__main__.CustomChromeTest.test_one_time_statistic)
  • test_questionnaire_export_automatic_mapping (__main__.CustomChromeTest.test_questionnaire_export_automatic_mapping)
  • test_user_list (__main__.CustomChromeTest.test_user_list)
  • test_user_mail_to_all (__main__.CustomChromeTest.test_user_mail_to_all)

Failed Tests (1/20):

  • test_encounter_list (__main__.CustomChromeTest.test_encounter_list)

Errored Tests (1/20):

  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)

Time Taken: 422.190s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants