Files

53 lines
1.6 KiB
C#

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();
}
}