namespace Tests.Pages.BuildCalculator; public class HighlightsComponent { private readonly Website _website; public HighlightsComponent(Website website) => _website = website; public ILocator HighlightsContainer => _website.Locator(".highlightsContainer"); public ILocator RequestedColumn => HighlightsContainer.Locator("div").Filter(new() { HasText = "Requested" }).Locator("+ div"); public ILocator FinishedColumn => HighlightsContainer.Locator("div").Filter(new() { HasText = "Finished" }).Locator("+ div"); public async Task> GetRequestedItemsAsync() => await GetHighlightItemsAsync(); public async Task> GetFinishedItemsAsync() => await GetHighlightItemsAsync(); private async Task> GetHighlightItemsAsync() { var items = await _website.Locator(".highlightsContainer").Locator("div").Filter(new() { HasTextRegex = new System.Text.RegularExpressions.Regex(@"^\d+\s*\|") }).AllAsync(); var result = new List(); foreach (var item in items) { var text = (await item.TextContentAsync())?.Trim(); if (text is not null) result.Add(text); } return result; } }