Files
ChronoCCG/Chrono/Tests/SyndicateTests.cs
T

66 lines
2.0 KiB
C#

using System.Text.RegularExpressions;
using Microsoft.Playwright;
using Microsoft.Playwright.NUnit;
using Tests.PageObjects;
namespace Tests;
[Parallelizable(ParallelScope.Self)]
[TestFixture]
public class SyndicateTests : AuthenticatedPageTest
{
private SyndicatesPage _syndicatesPage;
[SetUp]
public void Setup()
{
_syndicatesPage = new SyndicatesPage(Page);
}
[Test]
public async Task SyndicatesPage_ShouldOpenDialogOnPairingClick()
{
await _syndicatesPage.GotoAsync();
await _syndicatesPage.WaitForInteractiveAsync();
var count = await _syndicatesPage.PairingCards.CountAsync();
Assert.That(count, Is.GreaterThan(0), "No pairing cards found on Syndicates page.");
// Click the first pairing card
await _syndicatesPage.PairingCards.First.ClickAsync();
// Verify dialog is visible
await Expect(_syndicatesPage.SyndicateDialog).ToBeVisibleAsync();
// Take a screenshot of the dialog
await Page.ScreenshotAsync(new PageScreenshotOptions { Path = "syndicate-dialog.png" });
}
[Test]
public async Task SyndicatesPage_ShouldShowCorrectSyndicateTitle()
{
await _syndicatesPage.GotoAsync();
await _syndicatesPage.WaitForInteractiveAsync();
var firstCard = _syndicatesPage.PairingCards.First;
var syndicateName = await firstCard.Locator(".syn-name").InnerTextAsync();
await firstCard.ClickAsync();
await Expect(_syndicatesPage.DialogTitle).ToHaveTextAsync(syndicateName);
}
[Test]
public async Task SyndicatesPage_ShouldCloseDialog()
{
await _syndicatesPage.GotoAsync();
await _syndicatesPage.WaitForInteractiveAsync();
await _syndicatesPage.PairingCards.First.ClickAsync();
await Expect(_syndicatesPage.SyndicateDialog).ToBeVisibleAsync();
await _syndicatesPage.CloseDialogAsync();
await Expect(_syndicatesPage.SyndicateDialog).ToBeHiddenAsync();
}
}