using Microsoft.Playwright; using Microsoft.Playwright.NUnit; using PlaywrightTests.Utilities; namespace PlaywrightTests; [Parallelizable(ParallelScope.Self)] [TestFixture] [Category("views")] public class ViewTests : PageTest { [SetUp] public async Task Setup() { await Context.Tracing.StartAsync(new() { Title = $"{TestContext.CurrentContext.Test.ClassName}.{TestContext.CurrentContext.Test.Name}", Screenshots = true, Snapshots = true, Sources = true }); } [TearDown] public async Task TearDown() { await Context.Tracing.StopAsync(new() { Path = Path.Combine( TestContext.CurrentContext.WorkDirectory, "playwright-traces", $"{TestContext.CurrentContext.Test.ClassName}.{TestContext.CurrentContext.Test.Name}.zip" ) }); } [Test] public async Task CheckCreateAndDeleteView() { await Auth.Login(Page); await Page.GetByRole(AriaRole.Link, new() { Name = " Tickets" }).ClickAsync(); await Expect(Page.GetByRole(AriaRole.Button, new() { Name = "Neue View erstellen" })).ToBeVisibleAsync(); await Page.GetByRole(AriaRole.Button, new() { Name = "Neue View erstellen" }).ClickAsync(); await Page.Locator("input[name=\"new-view-name\"]").ClickAsync(); await Page.Locator("input[name=\"new-view-name\"]").FillAsync("Test view"); await Page.GetByLabel("Neue View erstellen").GetByRole(AriaRole.Button, new() { Name = "View speichern" }).ClickAsync(); await Expect(Page.GetByText("Test view", new () { Exact = true })).ToBeVisibleAsync(); await Page.Locator("#edit-ticket-view-icon-button").ClickAsync(); await Page.GetByRole(AriaRole.Gridcell, new() { Name = "Delete" }).Locator("div").Nth(0).ClickAsync(); await Page.Locator("dxbl-modal-root").ClickAsync(); await Page.GetByRole(AriaRole.Button, new() { Name = "Yes" }).ClickAsync(); await Expect(Page.GetByText("Tickets View 'Test view' wurde gelöscht.")).ToBeVisibleAsync(); } }