-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathEditorOverlayInteractionTests.cs
More file actions
41 lines (32 loc) · 1.63 KB
/
EditorOverlayInteractionTests.cs
File metadata and controls
41 lines (32 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using PrompterOne.Shared.Contracts;
using static Microsoft.Playwright.Assertions;
namespace PrompterOne.App.UITests;
public sealed class EditorOverlayInteractionTests(StandaloneAppFixture fixture) : IClassFixture<StandaloneAppFixture>
{
private readonly StandaloneAppFixture _fixture = fixture;
[Fact]
public async Task EditorScreen_HidesFloatingBarWhileToolbarDropdownIsOpen()
{
var page = await _fixture.NewPageAsync();
try
{
await page.GotoAsync(BrowserTestConstants.Routes.EditorDemo);
var sourceInput = page.GetByTestId(UiTestIds.Editor.SourceInput);
var floatingBar = page.GetByTestId(UiTestIds.Editor.FloatingBar);
var colorMenu = page.GetByTestId(UiTestIds.Editor.MenuColor);
await Expect(sourceInput)
.ToBeVisibleAsync(new() { Timeout = BrowserTestConstants.Timing.DefaultVisibleTimeoutMs });
await sourceInput.EvaluateAsync(
"(element, target) => { const start = element.value.indexOf(target); element.focus(); element.setSelectionRange(start, start + target.length); element.dispatchEvent(new Event('select', { bubbles: true })); element.dispatchEvent(new Event('keyup', { bubbles: true })); }",
BrowserTestConstants.Editor.Welcome);
await Expect(floatingBar).ToBeVisibleAsync();
await page.GetByTestId(UiTestIds.Editor.ColorTrigger).ClickAsync();
await Expect(colorMenu).ToBeVisibleAsync();
await Expect(floatingBar).ToBeHiddenAsync();
}
finally
{
await page.Context.CloseAsync();
}
}
}