using ESuite.UI.E2E.Helpers; using OpenQA.Selenium; namespace ESuite.UI.E2E.Pages { public class AuditPage { private readonly IWebDriver driver; public AuditPage(IWebDriver driver) { this.driver = driver; } // Page elements public static By ParentLogButton => By.CssSelector("button .fa-book"); public static By AllRelatedLogsButton => By.CssSelector("button .fa-book-journal-whills"); public static By DisplayNameSearchInputField => By.CssSelector("input#displayName"); public static By LogLines => By.XPath("//div[@class='frame-workArea']/div/table/tbody/tr"); public static By TypeSearchInputField => By.CssSelector("input#type"); public static By AuditLogUpdatedValueOfEntity => By.XPath("//table/tbody/tr[1]/td[7]/table/tbody/tr/td[3]"); public static By AuditLogUpdatedValueOfCustomFieldsEntity => By.XPath("//table/tbody/tr/td[7]/table/tbody/tr/td[3]"); public static By AuditLogCreatedValueOfEntity => By.XPath("//table/tbody/tr[1]/td[7]/table/tbody/tr/td[2]"); public static By AuditLogCreatedValueOfCustomFieldsEntity => By.XPath("//table/tbody/tr/td[7]/table/tbody/tr/td[2]"); public static By AuditLogTypeOfEntity => By.XPath("//table/tbody/tr[1]/td[5]"); public static By EntityDisplayName => By.XPath("//table/tbody/tr[1]/td[4]"); public static By CustomFieldsEntityDisplayName => By.XPath("//table/tbody/tr/td[4]"); public static By TimingDisplay => By.XPath("//table/tbody/tr/td[1]"); // Page actions public static List GetTextFromAuditLog(string logType) { IList auditLogValues; if (logType is "Create" or "Purge") { auditLogValues = I.GetTextsFromElements(AuditLogCreatedValueOfEntity, 5); } else { auditLogValues = I.GetTextsFromElements(AuditLogUpdatedValueOfEntity, 5); } return (List)auditLogValues; } public static List GetTextFromAuditLogOnCustomFields(string logType) { IList auditLogValues; if (logType is "Create") { auditLogValues = I.GetTextsFromElements(AuditLogCreatedValueOfCustomFieldsEntity, 5); } else { I.WaitForElementVisibleAndClickable(AuditPage.AllRelatedLogsButton, 5); auditLogValues = I.GetTextsFromElements(AuditLogUpdatedValueOfCustomFieldsEntity, 5); } return [.. auditLogValues]; } } }