SshExportPom.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using Microsoft.Playwright;
  2. namespace Tests.E2e.PageObjectModels;
  3. public class SshExportPom(IPage page) {
  4. // -------------------------------------------------
  5. // Root
  6. // -------------------------------------------------
  7. public ILocator Page
  8. => page.GetByTestId("ssh-export-page");
  9. // -------------------------------------------------
  10. // Actions
  11. // -------------------------------------------------
  12. public ILocator GenerateButton
  13. => page.GetByTestId("generate-ssh-button");
  14. // -------------------------------------------------
  15. // Inputs
  16. // -------------------------------------------------
  17. public ILocator IncludeTagsInput
  18. => page.GetByTestId("ssh-include-tags-input");
  19. public ILocator DefaultUserInput
  20. => page.GetByTestId("ssh-default-user-input");
  21. public ILocator DefaultPortInput
  22. => page.GetByTestId("ssh-default-port-input");
  23. public ILocator DefaultIdentityInput
  24. => page.GetByTestId("ssh-default-identity-input");
  25. // -------------------------------------------------
  26. // Output
  27. // -------------------------------------------------
  28. public ILocator Output
  29. => page.GetByTestId("ssh-output");
  30. public ILocator WarningsContainer
  31. => page.GetByTestId("ssh-warnings");
  32. // -------------------------------------------------
  33. // High-Level Actions
  34. // -------------------------------------------------
  35. public async Task AssertVisibleAsync()
  36. => await Assertions.Expect(Page).ToBeVisibleAsync();
  37. public async Task SetIncludeTagsAsync(string value)
  38. => await IncludeTagsInput.FillAsync(value);
  39. public async Task SetDefaultUserAsync(string value)
  40. => await DefaultUserInput.FillAsync(value);
  41. public async Task SetDefaultPortAsync(string value)
  42. => await DefaultPortInput.FillAsync(value);
  43. public async Task SetDefaultIdentityAsync(string value)
  44. => await DefaultIdentityInput.FillAsync(value);
  45. public async Task GenerateAsync()
  46. => await GenerateButton.ClickAsync();
  47. public async Task<string> GetOutputTextAsync()
  48. => await Output.InputValueAsync();
  49. public async Task AssertOutputContainsAsync(string text)
  50. => await Assertions.Expect(Output).ToContainTextAsync(text);
  51. public async Task AssertNoWarningsAsync()
  52. => await Assertions.Expect(WarningsContainer).ToHaveCountAsync(0);
  53. }