diff --git a/functional_tests/features/ejabberd.feature b/functional_tests/features/ejabberd.feature index d2e78e4d2..1449bdcf7 100644 --- a/functional_tests/features/ejabberd.feature +++ b/functional_tests/features/ejabberd.feature @@ -32,3 +32,13 @@ Scenario: Disable ejabberd application Given the ejabberd application is enabled When I disable the ejabberd application Then the ejabberd service should not be running + +Scenario: Enable message archive management + Given the ejabberd application is enabled + When I enable message archive management + Then the ejabberd service should be running + +Scenario: Disable message archive management + Given the ejabberd application is enabled + When I disable message archive management + Then the ejabberd service should be running diff --git a/functional_tests/step_definitions/application.py b/functional_tests/step_definitions/application.py index cf19bf79a..0f14a79e5 100644 --- a/functional_tests/step_definitions/application.py +++ b/functional_tests/step_definitions/application.py @@ -189,3 +189,13 @@ def disable_mediawiki_private_mode(browser): @when(parsers.parse('I set the mediawiki admin password to {password}')) def set_mediawiki_admin_password(browser, password): application.set_mediawiki_admin_password(browser, password) + + +@when(parsers.parse('I enable message archive management')) +def set_mediawiki_admin_password(browser): + application.enable_ejabberd_message_archive_management(browser) + + +@when(parsers.parse('I disable message archive management')) +def set_mediawiki_admin_password(browser): + application.disable_ejabberd_message_archive_management(browser) diff --git a/functional_tests/support/application.py b/functional_tests/support/application.py index 7c07393f3..bbd0c456c 100644 --- a/functional_tests/support/application.py +++ b/functional_tests/support/application.py @@ -253,3 +253,17 @@ def set_mediawiki_admin_password(browser, password): interface.nav_to_module(browser, 'mediawiki') browser.find_by_id('id_password').fill(password) interface.submit(browser, form_class='form-configuration') + + +def enable_ejabberd_message_archive_management(browser): + """Enable Message Archive Management in Ejabberd.""" + interface.nav_to_module(browser, 'ejabberd') + _change_status(browser, 'ejabberd', 'enabled', + checkbox_id='id_MAM_enabled') + + +def disable_ejabberd_message_archive_management(browser): + """Enable Message Archive Management in Ejabberd.""" + interface.nav_to_module(browser, 'ejabberd') + _change_status(browser, 'ejabberd', 'disabled', + checkbox_id='id_MAM_enabled')