You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
using System.Collections.ObjectModel; |
|
using TestAutomation.Utils; |
|
|
|
namespace TestAutomation.Pages; |
|
|
|
public class DatabasePage : BasePage |
|
{ |
|
public DatabasePage(Website website) : base(website) |
|
{ |
|
} |
|
|
|
private IWebElement FilterNameInput => Website.Find("filterName"); |
|
|
|
public override string Url { get; set; } = "database"; |
|
|
|
|
|
private ReadOnlyCollection<IWebElement> EntityNames() |
|
{ |
|
return Website.FindAll("entityName"); |
|
} |
|
|
|
|
|
private IWebElement EntityName(string entityType, string entityName) |
|
{ |
|
return Website.Find("entityName", |
|
$"{entityType.ToLower()}-{entityName.ToLower()}"); |
|
} |
|
|
|
public DatabasePage FilterName(string name) |
|
{ |
|
Website.EnterInput(FilterNameInput, name); |
|
|
|
return this; |
|
} |
|
|
|
public DatabasePage GetEntityName(string entityType, string entityName, out string result) |
|
{ |
|
result = EntityName(entityType, entityName).Text; |
|
return this; |
|
} |
|
|
|
public DatabasePage GetEntityName(int index, out string result) |
|
{ |
|
result = EntityNames()[index].Text; |
|
return this; |
|
} |
|
|
|
public DatabasePage Goto() |
|
{ |
|
Website.Goto(Url); |
|
return this; |
|
} |
|
} |