From 56323268020df958405106633aa8e7129b442555 Mon Sep 17 00:00:00 2001 From: Michael Pimmer Date: Wed, 31 Oct 2018 18:24:36 +0100 Subject: [PATCH] Functional tests: assert that module installation succeeded Reviewed-by: James Valleroy --- functional_tests/step_definitions/application.py | 1 + functional_tests/support/application.py | 6 ++++++ functional_tests/support/interface.py | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/functional_tests/step_definitions/application.py b/functional_tests/step_definitions/application.py index d0e8f5e9a..417226953 100644 --- a/functional_tests/step_definitions/application.py +++ b/functional_tests/step_definitions/application.py @@ -25,6 +25,7 @@ from support import application @given(parsers.parse('the {app_name:w} application is installed')) def application_is_installed(browser, app_name): application.install(browser, app_name) + assert(application.is_installed(browser, app_name)) @given(parsers.parse('the {app_name:w} application is enabled')) diff --git a/functional_tests/support/application.py b/functional_tests/support/application.py index f96fd600d..ea6ed7f4c 100644 --- a/functional_tests/support/application.py +++ b/functional_tests/support/application.py @@ -85,6 +85,12 @@ def install(browser, app_name): sleep(2) # XXX This shouldn't be required. +def is_installed(browser, app_name): + interface.nav_to_module(browser, get_app_module(app_name)) + install_button = browser.find_by_css('.form-install input[type=submit]') + return not bool(install_button) + + def _change_status(browser, app_name, change_status_to='enabled', checkbox_id=None): interface.nav_to_module(browser, get_app_module(app_name)) diff --git a/functional_tests/support/interface.py b/functional_tests/support/interface.py index a043e242a..a8f78807b 100644 --- a/functional_tests/support/interface.py +++ b/functional_tests/support/interface.py @@ -113,8 +113,8 @@ def create_admin_account(browser, username, password): submit(browser) -def submit(browser, element=None, form_class=None): - with wait_for_page_update(browser): +def submit(browser, element=None, form_class=None, expected_url=None): + with wait_for_page_update(browser, expected_url=expected_url): if element: element.click() elif form_class: