using Tests.PageObjects; namespace Tests; [Parallelizable(ParallelScope.Self)] [TestFixture] public class FeatureTests : AuthenticatedPageTest { [SetUp] public void Setup() { _decksPage = new DecksPage(Page); _deckDetailPage = new DeckDetailPage(Page); _agentsPage = new AgentsPage(Page); } private DecksPage _decksPage; private DeckDetailPage _deckDetailPage; private AgentsPage _agentsPage; [Test] public async Task DeckManaCurve_ShouldBeVisibleOnDetail() { await _decksPage.GotoAsync(); await _decksPage.WaitForInteractiveAsync(); // Assuming there is at least one deck. If not, this might need a more robust approach. var deckCards = _decksPage.DeckCards; await Expect(deckCards.First).ToBeVisibleAsync(); await deckCards.First.ClickAsync(); await Expect(_deckDetailPage.ManaCurve).ToBeVisibleAsync(); var barCount = await _deckDetailPage.GetManaBarCountAsync(); Assert.That(barCount, Is.GreaterThan(0)); } [Test] public async Task HomePage_ShouldLoadSuccessfully() { await Page.GotoAsync($"{BaseUrl}/home"); await Expect(Page.Locator("h1")).ToContainTextAsync("Slop Game Reference - Chrono CCG"); } [Test] [Ignore("Telerik Grid rendering is unreliable in the test environment server context.")] public async Task AgentsGrid_ShouldLoadSuccessfully() { await _agentsPage.GotoAsync(); await _agentsPage.WaitForInteractiveAsync(); await Expect(_agentsPage.Grid).ToBeVisibleAsync(); } }