MainLayoutPom.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using Microsoft.Playwright;
  2. namespace Tests.E2e.PageObjectModels;
  3. public class MainLayoutPom(IPage page) {
  4. public ILocator AppRoot => page.GetByTestId("app-root");
  5. public ILocator Header => page.GetByTestId("app-header");
  6. public ILocator PageContent => page.GetByTestId("page-content");
  7. public ILocator BrandLink => page.GetByTestId("brand-link");
  8. public ILocator BrandText => page.GetByTestId("brand-text");
  9. public ILocator NavHome => page.GetByTestId("nav-home");
  10. public ILocator NavCli => page.GetByTestId("nav-cli");
  11. public ILocator NavYaml => page.GetByTestId("nav-yaml");
  12. public ILocator NavHardware => page.GetByTestId("nav-hardware");
  13. public ILocator NavSystems => page.GetByTestId("nav-systems");
  14. public ILocator NavServices => page.GetByTestId("nav-services");
  15. public ILocator NavDocs => page.GetByTestId("nav-docs");
  16. public async Task GotoHomeAsync() {
  17. await NavHome.ClickAsync();
  18. await Assertions.Expect(PageContent).ToBeVisibleAsync();
  19. }
  20. public async Task GotoHardwareAsync() {
  21. await NavHardware.ClickAsync();
  22. await page.WaitForURLAsync("**/hardware/**");
  23. }
  24. public async Task GotoSystemsAsync() {
  25. await NavSystems.ClickAsync();
  26. await page.WaitForURLAsync("**/systems/**");
  27. }
  28. public async Task GotoServicesAsync() {
  29. await NavServices.ClickAsync();
  30. await page.WaitForURLAsync("**/services/**");
  31. }
  32. public async Task GotoCliAsync() {
  33. await NavCli.ClickAsync();
  34. await page.WaitForURLAsync("**/cli");
  35. }
  36. public async Task GotoYamlAsync() {
  37. await NavYaml.ClickAsync();
  38. await page.WaitForURLAsync("**/yaml");
  39. }
  40. public async Task GotoDocsAsync() {
  41. await NavDocs.ClickAsync();
  42. await page.WaitForURLAsync("**/docs/**");
  43. }
  44. public async Task AssertLoadedAsync() {
  45. await Assertions.Expect(AppRoot).ToBeVisibleAsync();
  46. await Assertions.Expect(Header).ToBeVisibleAsync();
  47. await Assertions.Expect(PageContent).ToBeVisibleAsync();
  48. }
  49. }