update simple mode testing

This commit is contained in:
Jordan Blasenhauer 2024-04-24 17:51:44 +02:00
parent 0bb5c3682f
commit 1e167bc1df
3 changed files with 80 additions and 6 deletions

View file

@ -2018,7 +2018,7 @@ const setDropdown = new Dropdown();
const setFilter = new Filter();
const setTabsSelect = new TabsSelect(
document.querySelector("[data-services-tabs-select]"),
document.querySelector("[data-services-modal-form]"),
document.querySelector("[data-advanced][data-services-modal-form]"),
);
const setPopover = new Popover();
@ -2028,7 +2028,7 @@ const invalid = new showInvalid();
const setFilterGlobal = new FilterSettings(
"settings-filter",
document.querySelector("[data-services-tabs-select]"),
document.querySelector("[data-services-modal-form]"),
document.querySelector("[data-advanced][data-services-modal-form]"),
"services",
);

View file

@ -4,7 +4,7 @@
{% for setting_simple in plugin_simple %}
{% set setting_input = { "name" : setting_simple.get('setting_id'), "multiples" : setting_simple.get("multiples", {}), "method" : setting_simple.get('setting').get("method", "default"), "help" : setting_simple.get('setting').get("help"), "label" : setting_simple.get('setting').get("label"), "id" : setting_simple.get('setting').get("id"), "type" : setting_simple.get('setting').get("type"), "default" : setting_simple.get('setting').get("default", "default"), "select" : setting_simple.get('setting').get("select"), "regex" : setting_simple.get('setting').get("regex"), "value" : setting_simple.get('setting').get("value"), "is_multiple" : True if setting_simple.get('setting').get("multiple", "") else False, "levels" : setting_simple.get('levels', {}) if not setting_simple.get('setting').get("multiples", "") else {}, "multiple_name" : setting_simple.get('setting').get('multiple') } %}
<div data-simple id="{{ setting_simple['plugin_id'] }}-simple"
class="w-full h-full px-1 mt-4 mb-2 col-span-12 {% if not setting_input['is_multiple'] %} md:col-span-6 {% endif %} grid grid-cols-12 h-full items-end">
class="w-full h-full px-1 mb-2 col-span-12 {% if not setting_input['is_multiple'] %} mt-2 md:col-span-6 {%else%} mt-4 {% endif %} grid grid-cols-12 h-full items-end">
<!-- title and desc -->
<div class="col-span-12" data-setting-header>
<div class="flex flex-col justify-start items-start">

View file

@ -49,7 +49,7 @@ try:
log_info("Service edit modal checked ...")
input_server_name = safe_get_element(DRIVER, By.ID, "SERVER_NAME")
input_server_name = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//input[@id='SERVER_NAME']")
assert isinstance(input_server_name, WebElement), "Input is not a WebElement"
if input_server_name.get_attribute("value") != "www.example.com":
log_error("The value is not the expected one, exiting ...")
@ -587,13 +587,87 @@ try:
log_error("Step 2 should be visible.")
exit(1)
log_info("Fill first step and move to step 2 done ...")
log_info("Fill first step and move to step 2 done, edit step 2 value ...")
# Select antibot plugin and click on javascript value
select = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//button[@data-setting-select='use-antibot']")
assert isinstance(select, WebElement), "Select is not a WebElement"
DRIVER.execute_script("arguments[0].click()", select)
# Click on javascript value
button_js_antibot = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//button[@data-setting-select-dropdown-btn='use-antibot' and @value='javascript']")
assert isinstance(button_js_antibot, WebElement), "Button javascript is not a WebElement"
DRIVER.execute_script("arguments[0].click()", button_js_antibot)
# Check that value is updated
value_js_antibot = DRIVER.execute_script("""return document.querySelector('span[data-setting-select-text="use-antibot"]').getAttribute('data-value')""")
if value_js_antibot != "javascript":
log_error("Value should be javascript.")
exit(1)
log_info("Edit step 2 value, done, trying to go back, change security level and check antibot value ...")
# Click on back button
back_button = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//button[@data-simple-back='']")
DRIVER.execute_script("arguments[0].click()", back_button)
# Check if data-step is 1 looking for hidden
is_step_1 = DRIVER.execute_script(f"""return document.querySelector("[data-simple-step='1']").classList.contains("hidden")""")
if is_step_1:
log_error("Step 1 should be visible.")
exit(1)
# Change security level
select = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//button[@data-setting-select='security-level']")
assert isinstance(select, WebElement), "Select is not a WebElement"
DRIVER.execute_script("arguments[0].click()", select)
# Click on standard value
button_standard_security = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-advanced]//button[@data-setting-select-dropdown-btn='security-level' and @value='standard']")
assert isinstance(button_standard_security, WebElement), "Button standard is not a WebElement"
DRIVER.execute_script("arguments[0].click()", button_standard_security)
# Check that value is updated
value_standard_security = DRIVER.execute_script("""return document.querySelector('span[data-setting-select-text="security-level"]').getAttribute('data-value')""")
if value_standard_security != "standard":
log_error("Value should be standard.")
exit(1)
# Click on next button
next_button = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-simple]//button[@data-simple-next='']")
DRIVER.execute_script("arguments[0].click()", next_button)
# Check if data-step is 2 looking for hidden
is_step_2 = DRIVER.execute_script(f"""return document.querySelector("[data-simple-step='2']").classList.contains("hidden")""")
if is_step_2:
log_error("Step 2 should be visible.")
exit(1)
# Check antibot value
value_js_antibot = DRIVER.execute_script("""return document.querySelector('span[data-setting-select-text="use-antibot"]').getAttribute('data-value')""")
if value_js_antibot != "no":
log_error("Value should be changed by no selecting security level.")
exit(1)
log_info("Changing security level and check update done, create app ...")
submit_button = safe_get_element(DRIVER, By.XPATH, "//form[@data-services-modal-form and @data-simple]//button[@data-services-modal-submit='']")
access_page(DRIVER, "/form[@data-services-modal-form and @data-advanced]//button[@data-services-modal-submit='']", "services", False)
if TEST_TYPE == "linux":
wait_for_service("app3.example.com")
try:
services = safe_get_element(DRIVER, By.XPATH, "//div[@data-services-service]", multiple=True, error=True)
assert isinstance(services, list), "Services is not a list"
except TimeoutException:
log_exception("Services not found, exiting ...")
exit(1)
if len(services) < 4:
log_error(f"The service hasn't been created ({len(services)} services found), exiting ...")
exit(1)
log_info("Service app3.example.com has been created successfully...")
log_info("✅ Services page tests finished successfully")