53 lines
1.6 KiB
C#
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();
|
|
}
|
|
} |