namespace Tests.Pages.BuildCalculator; public class BuildChartComponent { private readonly Website _website; public BuildChartComponent(Website website) { _website = website; } public ILocator ChartsContainer => _website.Locator(".chartsContainer"); public ILocator DisplayValue(string label) { return _website.Locator(".displayContainer").Filter(new LocatorFilterOptions { HasText = label }) .Locator(".displayContent"); } public async Task GetHighestAlloyAsync() { return (await DisplayValue("Highest Alloy").TextContentAsync())?.Trim() ?? ""; } public async Task GetHighestEtherAsync() { return (await DisplayValue("Highest Ether").TextContentAsync())?.Trim() ?? ""; } public async Task GetHighestPyreAsync() { return (await DisplayValue("Highest Pyre").TextContentAsync())?.Trim() ?? ""; } public async Task GetHighestArmyAsync() { return (await DisplayValue("Highest Army").TextContentAsync())?.Trim() ?? ""; } public async Task GetChartCountAsync() { return await ChartsContainer.Locator("> div").CountAsync(); } }