MenuTest.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. use Encore\Admin\Auth\Database\Administrator;
  3. use Encore\Admin\Auth\Database\Menu;
  4. class MenuTest extends TestCase
  5. {
  6. public function setUp()
  7. {
  8. parent::setUp();
  9. $this->be(Administrator::first(), 'admin');
  10. }
  11. public function testMenuIndex()
  12. {
  13. $this->visit('admin/auth/menu')
  14. ->see('Menu')
  15. ->see('Index')
  16. ->see('Auth')
  17. ->see('Users')
  18. ->see('Roles')
  19. ->see('Permission')
  20. ->see('Menu');
  21. }
  22. public function testAddMenu()
  23. {
  24. $item = ['parent_id' => '0', 'title' => 'Test', 'uri' => 'test'];
  25. $this->visit('admin/auth/menu')
  26. ->seePageIs('admin/auth/menu')
  27. ->see('Menu')
  28. ->submitForm('Submit', $item)
  29. ->seePageIs('admin/auth/menu')
  30. ->seeInDatabase(config('admin.database.menu_table'), $item)
  31. ->assertEquals(8, Menu::count());
  32. $this->expectException(\Laravel\BrowserKitTesting\HttpException::class);
  33. $this->visit('admin')
  34. ->see('Test')
  35. ->click('Test');
  36. }
  37. public function testDeleteMenu()
  38. {
  39. $this->delete('admin/auth/menu/8')
  40. ->assertEquals(7, Menu::count());
  41. }
  42. public function testEditMenu()
  43. {
  44. $this->visit('admin/auth/menu/1/edit')
  45. ->see('Menu')
  46. ->submitForm('Submit', ['title' => 'blablabla'])
  47. ->seePageIs('admin/auth/menu')
  48. ->seeInDatabase(config('admin.database.menu_table'), ['title' => 'blablabla'])
  49. ->assertEquals(7, Menu::count());
  50. }
  51. public function testShowPage()
  52. {
  53. $this->visit('admin/auth/menu/1')
  54. ->seePageIs('admin/auth/menu/1/edit');
  55. }
  56. public function testEditMenuParent()
  57. {
  58. $this->expectException(\Laravel\BrowserKitTesting\HttpException::class);
  59. $this->visit('admin/auth/menu/5/edit')
  60. ->see('Menu')
  61. ->submitForm('Submit', ['parent_id' => 5]);
  62. }
  63. }