4
0

AddResourceComponent.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Microsoft.Playwright;
  2. namespace Tests.E2e.PageObjectModels;
  3. public class AddResourceComponent(IPage page, string resourceType)
  4. {
  5. private readonly string _resourceType = resourceType.ToLower();
  6. // -------------------------------------------------
  7. // Root & Structure
  8. // -------------------------------------------------
  9. public ILocator Root
  10. => page.GetByTestId($"add-{_resourceType}-root");
  11. public ILocator Title
  12. => page.GetByTestId($"add-{_resourceType}-title");
  13. public ILocator Form
  14. => page.GetByTestId($"add-{_resourceType}-form");
  15. public ILocator Input
  16. => page.GetByTestId($"add-{_resourceType}-input");
  17. public ILocator Button
  18. => page.GetByTestId($"add-{_resourceType}-button");
  19. public ILocator Error
  20. => page.GetByTestId($"add-{_resourceType}-error");
  21. // -------------------------------------------------
  22. // Actions
  23. // -------------------------------------------------
  24. public async Task AddAsync(string name)
  25. {
  26. await Assertions.Expect(Root).ToBeVisibleAsync();
  27. await Input.FillAsync(name);
  28. await Button.ClickAsync();
  29. }
  30. public async Task AssertErrorAsync(string message)
  31. {
  32. await Assertions.Expect(Error)
  33. .ToHaveTextAsync(message);
  34. }
  35. public async Task AssertVisibleAsync()
  36. {
  37. await Assertions.Expect(Root).ToBeVisibleAsync();
  38. }
  39. }