63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using Microsoft.Playwright;
|
|
using Tests.PageObjects;
|
|
|
|
namespace Tests;
|
|
|
|
[Parallelizable(ParallelScope.Self)]
|
|
[TestFixture]
|
|
public class SyndicateTests : AuthenticatedPageTest
|
|
{
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
_syndicatesPage = new SyndicatesPage(Page);
|
|
}
|
|
|
|
private SyndicatesPage _syndicatesPage;
|
|
|
|
[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();
|
|
}
|
|
} |