39 lines
1.6 KiB
C#
39 lines
1.6 KiB
C#
using ESuite.UI.E2E.Helpers;
|
|
using OpenQA.Selenium;
|
|
|
|
namespace ESuite.UI.E2E.Pages
|
|
{
|
|
public class DomainEditPage
|
|
{
|
|
private readonly IWebDriver driver;
|
|
|
|
// Constructor to initialize the driver
|
|
public DomainEditPage(IWebDriver driver)
|
|
{
|
|
this.driver = driver;
|
|
}
|
|
|
|
// Page elements
|
|
public By EditButton(string? name) => By.XPath($"//td[text()='{name}']/following-sibling::td/a[contains(@class, 'btn-primary')]/*[@data-icon='pen-to-square']");
|
|
public By EditPageTitle => By.XPath("//h1[text()='Edit']");
|
|
public By TemplateNameInList(string? name) => By.XPath($"//ul[@class='mail-types']/li[text()='{name}']");
|
|
|
|
public By RoleAccessCheckbox(string? name) => By.CssSelector($"input#{name}");
|
|
public static By SubjectInput => By.CssSelector("input#subject");
|
|
public By SubjectNameInField(string name) => By.XPath($"//input[@id='subject'][@value='{name}']");
|
|
|
|
public static By AddUserToRoleButton => By.Id("btnAddUserToRole");
|
|
public By MailTemplateFormByName(string name) => By.XPath($"//form[@template-name='{name}']");
|
|
public static By RoleSaveButton => By.XPath("//button[contains(@class, 'btn-primary') and text()='Save']");
|
|
|
|
// Page actions
|
|
public void ChooseMailTemplate(string? templateName)
|
|
{
|
|
By template = TemplateNameInList(templateName);
|
|
I.WaitForVisible(template);
|
|
I.Click(template);
|
|
I.WaitForVisible(MailTemplateFormByName(templateName!.Replace(" ","")));
|
|
}
|
|
|
|
}
|
|
} |