MenuPage.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace Tests\Browser\Pages;
  3. use Laravel\Dusk\Browser;
  4. class MenuPage extends Page
  5. {
  6. /**
  7. * Get the URL for the page.
  8. *
  9. * @return string
  10. */
  11. public function url()
  12. {
  13. return test_admin_path('auth/menu');
  14. }
  15. /**
  16. * Assert that the browser is on the page.
  17. *
  18. * @param \Laravel\Dusk\Browser $browser
  19. * @return void
  20. */
  21. public function assert(Browser $browser)
  22. {
  23. $browser->assertSee('Expand')
  24. ->assertSee('Collapse')
  25. ->assertSee('Save')
  26. ->assertSee('New')
  27. ->whenAvailable('@tree', function (Browser $browser) {
  28. $browser->assertSee('Menu')
  29. ->assertSee('Index')
  30. ->assertSee('Admin')
  31. ->assertSee('Users')
  32. ->assertSee('Roles')
  33. ->assertSee('Permission')
  34. ->assertSee('Menu')
  35. ->assertSee('Operation log');
  36. }, 1)
  37. ->within('@form', function (Browser $browser) {
  38. $browser->assertSee('Parent')
  39. ->assertSee('Title')
  40. ->assertSee('Icon')
  41. ->assertSee('URI')
  42. ->assertSee('Roles')
  43. ->assertSee('Permission')
  44. ->assertSee('Select all')
  45. ->assertSelected('parent_id', 0)
  46. ->hasInput('title')
  47. ->hasInput('icon')
  48. ->hasInput('uri')
  49. ->assertButtonEnabled('Submit')
  50. ->assertButtonEnabled('Reset');
  51. });
  52. }
  53. /**
  54. * Get the element shortcuts for the page.
  55. *
  56. * @return array
  57. */
  58. public function elements()
  59. {
  60. return [
  61. '@tree' => '.dd',
  62. '@form' => 'form[method="POST"]',
  63. ];
  64. }
  65. }