Skip to content

304 add api for automated scheduled encounters - #314

Open
aluapaula wants to merge 18 commits into
v3.4.0from
304-add-api-for-automated-scheduled-encounters
Open

304 add api for automated scheduled encounters#314
aluapaula wants to merge 18 commits into
v3.4.0from
304-add-api-for-automated-scheduled-encounters

Conversation

@aluapaula

Copy link
Copy Markdown
Collaborator

Refactoring of Method saveScheduledEncounter in class EncounterController, 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.
…ller, to provide better maintainability and readability.
@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1052 ran1042 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.13/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 0x55de1626c0ca <unknown>
#1 0x55de15f382b0 <unknown>
#2 0x55de15f87b22 <unknown>
#3 0x55de15f87dc1 <unknown>
#4 0x55de15fcd994 <unknown>
#5 0x55de15fac92d <unknown>
#6 0x55de15fcae26 <unknown>
#7 0x55de15fac6a3 <unknown>
#8 0x55de15f7a4f3 <unknown>
#9 0x55de15f7b4fe <unknown>
#10 0x55de16232d7b <unknown>
#11 0x55de16236d31 <unknown>
#12 0x55de1621ec85 <unknown>
#13 0x55de162378a2 <unknown>
#14 0x55de16203e1f <unknown>
#15 0x55de1625ae48 <unknown>
#16 0x55de1625b013 <unknown>
#17 0x55de1626aebc <unknown>
#18 0x7fb1422aaac3 <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.13/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.13/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.13/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.13/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 0x555f6db7d0ca <unknown>
#1 0x555f6d8492b0 <unknown>
#2 0x555f6d898b22 <unknown>
#3 0x555f6d898dc1 <unknown>
#4 0x555f6d8de994 <unknown>
#5 0x555f6d8bd92d <unknown>
#6 0x555f6d8dbe26 <unknown>
#7 0x555f6d8bd6a3 <unknown>
#8 0x555f6d88b4f3 <unknown>
#9 0x555f6d88c4fe <unknown>
#10 0x555f6db43d7b <unknown>
#11 0x555f6db47d31 <unknown>
#12 0x555f6db2fc85 <unknown>
#13 0x555f6db488a2 <unknown>
#14 0x555f6db14e1f <unknown>
#15 0x555f6db6be48 <unknown>
#16 0x555f6db6c013 <unknown>
#17 0x555f6db7bebc <unknown>
#18 0x7f217e5c5ac3 <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.13/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.13/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 0x555f6db7d0ca <unknown>
#1 0x555f6d8492b0 <unknown>
#2 0x555f6d898b22 <unknown>
#3 0x555f6d898dc1 <unknown>
#4 0x555f6d8de994 <unknown>
#5 0x555f6d8bd92d <unknown>
#6 0x555f6d8dbe26 <unknown>
#7 0x555f6d8bd6a3 <unknown>
#8 0x555f6d88b4f3 <unknown>
#9 0x555f6d88c4fe <unknown>
#10 0x555f6db43d7b <unknown>
#11 0x555f6db47d31 <unknown>
#12 0x555f6db2fc85 <unknown>
#13 0x555f6db488a2 <unknown>
#14 0x555f6db14e1f <unknown>
#15 0x555f6db6be48 <unknown>
#16 0x555f6db6c013 <unknown>
#17 0x555f6db7bebc <unknown>
#18 0x7f217e5c5ac3 <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.13/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.13/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: 462.951s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1052 ran1042 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.13/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 0x558e27beb0ca <unknown>
#1 0x558e278b72b0 <unknown>
#2 0x558e27906b22 <unknown>
#3 0x558e27906dc1 <unknown>
#4 0x558e2794c994 <unknown>
#5 0x558e2792b92d <unknown>
#6 0x558e27949e26 <unknown>
#7 0x558e2792b6a3 <unknown>
#8 0x558e278f94f3 <unknown>
#9 0x558e278fa4fe <unknown>
#10 0x558e27bb1d7b <unknown>
#11 0x558e27bb5d31 <unknown>
#12 0x558e27b9dc85 <unknown>
#13 0x558e27bb68a2 <unknown>
#14 0x558e27b82e1f <unknown>
#15 0x558e27bd9e48 <unknown>
#16 0x558e27bda013 <unknown>
#17 0x558e27be9ebc <unknown>
#18 0x7fed67afcac3 <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.13/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.13/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.13/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.13/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 0x559440c730ca <unknown>
#1 0x55944093f2b0 <unknown>
#2 0x55944098eb22 <unknown>
#3 0x55944098edc1 <unknown>
#4 0x5594409d4994 <unknown>
#5 0x5594409b392d <unknown>
#6 0x5594409d1e26 <unknown>
#7 0x5594409b36a3 <unknown>
#8 0x5594409814f3 <unknown>
#9 0x5594409824fe <unknown>
#10 0x559440c39d7b <unknown>
#11 0x559440c3dd31 <unknown>
#12 0x559440c25c85 <unknown>
#13 0x559440c3e8a2 <unknown>
#14 0x559440c0ae1f <unknown>
#15 0x559440c61e48 <unknown>
#16 0x559440c62013 <unknown>
#17 0x559440c71ebc <unknown>
#18 0x7fba03a65ac3 <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.13/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.13/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 0x559440c730ca <unknown>
#1 0x55944093f2b0 <unknown>
#2 0x55944098eb22 <unknown>
#3 0x55944098edc1 <unknown>
#4 0x5594409d4994 <unknown>
#5 0x5594409b392d <unknown>
#6 0x5594409d1e26 <unknown>
#7 0x5594409b36a3 <unknown>
#8 0x5594409814f3 <unknown>
#9 0x5594409824fe <unknown>
#10 0x559440c39d7b <unknown>
#11 0x559440c3dd31 <unknown>
#12 0x559440c25c85 <unknown>
#13 0x559440c3e8a2 <unknown>
#14 0x559440c0ae1f <unknown>
#15 0x559440c61e48 <unknown>
#16 0x559440c62013 <unknown>
#17 0x559440c71ebc <unknown>
#18 0x7fba03a65ac3 <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.13/x64/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/unittest/case.py", line 651, in run
    self._callTestMethod(testMethod)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.13/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: 459.280s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1052 ran1042 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 422.577s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1052 ran1042 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 412.964s

- add @PostMapping endpoint to EncounterController
 - ad mapFromApiRequest() in EncounterScheduledDTOMapper
  - add new DTO EncounterScheduledApiRequestDTO
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ✅Skipped ⚠️Failed
JUnit Test Report1052 ran1042 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 434.551s

- add @PostMapping endpoint to EncounterController
 - ad mapFromApiRequest() in EncounterScheduledDTOMapper
  - add new DTO EncounterScheduledApiRequestDTO
- add @PostMapping endpoint to EncounterController
- add EncounterControllerTest
@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 416.690s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 406.979s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 skipped0 failed
🌐 Selenium Test Results

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 421.768s

@ywarnecke ywarnecke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Changes are already working well. I have commented some needed adjustments / fixes.

Comment thread db/update/v3.4.0.sql Outdated
Comment on lines +7 to +11
-- Configuration may change with changing groups added. Please make sure this fits to your server config.
-- Adjust configuration_group_id to fit to your FHIR config group. Copy the values for all available FHIR configs on the server
-- You can find the ids with this query:
-- SELECT id FROM moPat.configuration_group WHERE configuration_group.label_message_code LIKE '%FHIR';
-- On a server with no additional config groups, the id should be 11

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please adjust this. It is not specific to FHIR anymore

return "redirect:/encounter/list";
String apiKey = configurationDao.getApiKey();

if (configurationDao.isApiKeyAccessEnabled() && apiKey.equals(key)) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please adjust this function: Before anything happens on the server, it should be checked if the function is enabled at all. Move isApiKeyAccessEnabled() check to the beginning of the function

break;
case API_KEY:
String apiKeyValue = configurationDTO.getValue();
String apiKeyPattern = "^[A-Za-z0-9_\\-.]{16,128}$";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

16 chars is probably too short. Please adjust to at least 32

Comment thread db/update/v3.4.0.sql Outdated
-- SELECT id FROM moPat.configuration_group WHERE configuration_group.label_message_code LIKE '%FHIR';
-- On a server with no additional config groups, the id should be 11
INSERT INTO moPat.configuration (`id`, `type`, `configuration_group_id`, `parent`, `position`, `attribute`, `configuration_type`, `description_message_code`, `class`, `label_message_code`, `test_method`, `update_method`, `uuid`, `value`, `pattern`) VALUES
(@largest_id + 1, 'GENERAL', 1, NULL, 17, 'enableApiTokenAccess', 'BOOLEAN', 'configuration.label.enableApiTokenAccess', 'GLOBAL', 'configuration.label.enableApiTokenAccess', NULL, NULL, '25fd8f5e-2e90-4cd1-8a30-d84c88889c5c', false, NULL),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please adjust the description message. It should not be the same as the label. Also for this feature, the description should be a disclaimer, how this feature opens up the application and allows everybody with the API key to create new encounters.

configuration.file.path=Path to the uploaded file
configuration.file.uploaded=File uploaded
configuration.label.apiKey=API-Key for automated scheduled encounters
configuration.label.enableApiTokenAccess=Enablement of API-Key for automated scheduled encounters

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The encounters are not necessarily automated. Please adjust this wording

Comment thread db/update/v3.4.0.sql
Comment thread db/update/v3.4.0.sql Outdated
-- On a server with no additional config groups, the id should be 11
INSERT INTO moPat.configuration (`id`, `type`, `configuration_group_id`, `parent`, `position`, `attribute`, `configuration_type`, `description_message_code`, `class`, `label_message_code`, `test_method`, `update_method`, `uuid`, `value`, `pattern`) VALUES
(@largest_id + 1, 'GENERAL', 1, NULL, 17, 'enableApiTokenAccess', 'BOOLEAN', 'configuration.label.enableApiTokenAccess', 'GLOBAL', 'configuration.label.enableApiTokenAccess', NULL, NULL, '25fd8f5e-2e90-4cd1-8a30-d84c88889c5c', false, NULL),
(@largest_id + 2, 'GENERAL', 1, 17, 18, 'apiKey', 'STRING', 'configuration.label.apiKey', 'GLOBAL', 'configuration.label.apiKey', NULL, NULL, '9b48f864-8cb7-4704-82e2-12045755e2aa', '', NULL);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parent has to be adjusted. It needs to be @largest_id +1

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also adjust these changes in the other db scripts

new Timestamp(getTodayAtMidnight().getTime())
);

return encounter;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You missed a crucial step here; The bundle needs to be merged, so that the creation of the encounter can be cascaded. Right now, no new encounter is created, when sending out the email directly.

}

@Override
public void validate(Object target, Errors errors) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like locale needs to be present in the request, otherwise the application crashes without returning a bad request response. It should therefore be validated here. Alternatively check if present, otherwise set system locale (this should not be a side effect of validation though).

* enable automatic scheduled encounters through an API
* @param request
* */
@PostMapping(value = "/encounter/schedule/api")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The api works well. However, it is quite easy to flood the server with data, if something goes wrong. It would be a good idea to add a rate limiter, e.g. with Bucket4j here. Something like this: https://bucket4j.com/8.18.0/toc.html#limiting-the-rate-of-access-to-rest-api

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rate limiting filter has been implemented. It applies to all requests targeting the API endpoint (authorized & unauthorized). The filter has two independent limits: a global limit shared across all requests, and an additional per-IP limit to prevent abuse from individual clients.

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (20/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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (0/20):
None


Time Taken: 431.045s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 skipped0 failed
🌐 Selenium Test Results

Running Test: test_admin_interface_conditions

Test ran with errors:


--- Stack Trace ---
Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Condition.py", line 357, in assert_add_condition_page
    self.open_conditions_of_question(question['id'])
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Condition.py", line 182, in open_conditions_of_question
    self.driver.find_element(*ConditionSelectors.CONDITION_LINK(question_id)).click()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/remote/webdriver.py", line 748, in find_element
    return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[contains(@href, "/condition/listQuestionConditions?questionId=6")]"}
  (Session info: chrome=128.0.6613.137); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x563c505ee0ca <unknown>
#1 0x563c502ba2b0 <unknown>
#2 0x563c50309b22 <unknown>
#3 0x563c50309dc1 <unknown>
#4 0x563c5034f994 <unknown>
#5 0x563c5032e92d <unknown>
#6 0x563c5034ce26 <unknown>
#7 0x563c5032e6a3 <unknown>
#8 0x563c502fc4f3 <unknown>
#9 0x563c502fd4fe <unknown>
#10 0x563c505b4d7b <unknown>
#11 0x563c505b8d31 <unknown>
#12 0x563c505a0c85 <unknown>
#13 0x563c505b98a2 <unknown>
#14 0x563c50585e1f <unknown>
#15 0x563c505dce48 <unknown>
#16 0x563c505dd013 <unknown>
#17 0x563c505ecebc <unknown>
#18 0x7feba2da2ac3 <unknown>


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 297, in test_admin_interface_conditions
    self.condition_assert_helper.assert_add_condition_page(source_questionnaire)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Condition.py", line 380, in assert_add_condition_page
    raise AssertionError(f"Error in assert_condition_addCondition_page: {e}")
AssertionError: Error in assert_condition_addCondition_page: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[contains(@href, "/condition/listQuestionConditions?questionId=6")]"}
  (Session info: chrome=128.0.6613.137); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x563c505ee0ca <unknown>
#1 0x563c502ba2b0 <unknown>
#2 0x563c50309b22 <unknown>
#3 0x563c50309dc1 <unknown>
#4 0x563c5034f994 <unknown>
#5 0x563c5032e92d <unknown>
#6 0x563c5034ce26 <unknown>
#7 0x563c5032e6a3 <unknown>
#8 0x563c502fc4f3 <unknown>
#9 0x563c502fd4fe <unknown>
#10 0x563c505b4d7b <unknown>
#11 0x563c505b8d31 <unknown>
#12 0x563c505a0c85 <unknown>
#13 0x563c505b98a2 <unknown>
#14 0x563c50585e1f <unknown>
#15 0x563c505dce48 <unknown>
#16 0x563c505dd013 <unknown>
#17 0x563c505ecebc <unknown>
#18 0x7feba2da2ac3 <unknown>


None

--- End of Trace ---

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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (19/20):

  • 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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)

Errored Tests (0/20):
None


Time Taken: 376.911s

@github-actions

Copy link
Copy Markdown

Test Results

🧪 Unit Test Results
TestsPassed ❌️SkippedFailed
JUnit Test Report0 ran0 passed0 skipped0 failed
🌐 Selenium Test Results

Running Test: test_admin_interface_conditions

Failed to click 'add button' for conditions.

Test ran with errors:


--- Stack Trace ---
Traceback (most recent call last):
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 225, in select_dropdown
    dropdowns = WebDriverWait(self.driver, 10).until(EC.presence_of_all_elements_located(
        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: 


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 285, in test_admin_interface_conditions
    condition_id_1 = self.condition_helper.add_condition_for_threshold_questions(threshold_steps=1, target_type=ConditionSelectors.TargetType.QUESTION)
  File "/home/runner/work/MoPat/MoPat/selenium/helper/Condition.py", line 140, in add_condition_for_threshold_questions
    self.utils.select_dropdown(ConditionSelectors.THRESHOLD_TYPE, threshold_type, DropdownMethod.VALUE)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/MoPat/MoPat/selenium/helper/SeleniumUtils.py", line 250, in select_dropdown
    raise Exception(f"Timeout while selecting '{value}' in dropdown {selector}.")
Exception: Timeout while selecting 'EQUALS' in dropdown ('id', 'conditionDTOs0.thresholdType').

None

--- End of Trace ---

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

Successfully ran Test without Errors

Running Test: test_encounter_schedule

Successfully ran Test without Errors

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 (19/20):

  • 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_encounter_list (__main__.CustomChromeTest.test_encounter_list)
  • test_encounter_schedule (__main__.CustomChromeTest.test_encounter_schedule)
  • 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 (0/20):
None

Errored Tests (1/20):

  • test_admin_interface_conditions (__main__.CustomChromeTest.test_admin_interface_conditions)

Time Taken: 429.583s

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