import os
import sys
HELPERS_DIR = os.path.dirname(__file__)
sys.path.append(HELPERS_DIR)
from step_logger import log_step
class Password():
def __init__(self, browser, id_prefix):
self.browser = browser
self.id_prefix = id_prefix
def check_pw_focused(self):
sel = f"#{self.id_prefix}-password-field"
self.browser.wait_visible(f"{sel}:focus")
@log_step(snapshot_before=True)
def check_pw_rule(self, rule, value):
sel = f"#{self.id_prefix}-password-rule-{rule}"
cls_value = f"pf-m-{value}"
self.browser.wait_visible(sel)
self.browser.wait_attr_contains(sel, "class", cls_value)
@log_step(snapshot_before=True)
def set_password(self, password, append=False, value_check=True):
sel = f"#{self.id_prefix}-password-field"
self.browser.set_input_text(sel, password, append=append, value_check=value_check)
@log_step(snapshot_before=True)
def check_password(self, password):
sel = f"#{self.id_prefix}-password-field"
self.browser.wait_val(sel, password)
@log_step(snapshot_before=True)
def set_password_confirm(self, password):
sel = f"#{self.id_prefix}-password-confirm-field"
self.browser.set_input_text(sel, password)
@log_step(snapshot_before=True)
def check_password_confirm(self, password):
sel = f"#{self.id_prefix}-password-confirm-field"
self.browser.wait_val(sel, password)
@log_step(snapshot_before=True)
def check_pw_strength(self, strength):
sel = f"#{self.id_prefix}-password-strength-label"
if strength is None:
self.browser.wait_not_present(sel)
return
variant = ""
if strength == "weak":
variant = "error"
elif strength == "medium":
variant = "warning"
elif strength == "strong":
variant = "success"
self.browser.wait_attr_contains(sel, "class", f"pf-m-{variant}")