22 lines
796 B
C#
22 lines
796 B
C#
using Microsoft.Playwright;
|
|
|
|
namespace Tests.PageObjects;
|
|
|
|
public class LoginPage : BasePage
|
|
{
|
|
public LoginPage(IPage page) : base(page) { }
|
|
|
|
public ILocator EnrollButton => Page.GetByRole(AriaRole.Button, new() { Name = "Enroll Passkey" });
|
|
public ILocator SignInButton => Page.GetByRole(AriaRole.Button, new() { Name = "Sign in with Passkey" });
|
|
public ILocator ErrorMessage => Page.Locator(".alert-danger");
|
|
|
|
public async Task GotoAsync() => await NavigateToAsync("/login");
|
|
|
|
public async Task WaitForInteractiveAsync()
|
|
{
|
|
await Page.WaitForLoadStateAsync(LoadState.NetworkIdle);
|
|
// Wait for Blazor circuit: either button must be visible
|
|
await Page.WaitForSelectorAsync("button", new PageWaitForSelectorOptions { Timeout = 10_000 });
|
|
}
|
|
}
|