UsersTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace Tests\Feature;
  3. use Tests\TestCase;
  4. class UsersTest extends TestCase
  5. {
  6. public function testUsersIndexPage()
  7. {
  8. $this->visit('admin/auth/users')
  9. ->see('Administrator');
  10. }
  11. public function testCreateUser()
  12. {
  13. $user = [
  14. 'username' => 'Test',
  15. 'name' => 'Name',
  16. 'password' => '123456',
  17. 'password_confirmation' => '123456',
  18. ];
  19. // create user
  20. $this->visit('admin/auth/users/create')
  21. ->see('Create')
  22. ->submitForm('Submit', $user)
  23. ->seePageIs('admin/auth/users')
  24. ->seeInDatabase(config('admin.database.users_table'), ['username' => $user['username'], 'name' => $user['name']]);
  25. // assign role to user
  26. $this->visit('admin/auth/users/2/edit')
  27. ->see('Edit')
  28. ->submitForm('Submit', ['roles' => [1]])
  29. ->seePageIs('admin/auth/users')
  30. ->seeInDatabase(config('admin.database.role_users_table'), ['user_id' => 2, 'role_id' => 1]);
  31. $this->visit('admin/auth/logout')
  32. ->dontSeeIsAuthenticated('admin')
  33. ->seePageIs('admin/auth/login')
  34. ->submitForm('Login', ['username' => $user['username'], 'password' => $user['password']])
  35. ->see('dashboard')
  36. ->seeIsAuthenticated('admin')
  37. ->seePageIs('admin');
  38. $this->assertTrue($this->app['auth']->guard('admin')->getUser()->isAdministrator());
  39. $this->see('<span>Users</span>')
  40. ->see('<span>Roles</span>')
  41. ->see('<span>Permission</span>')
  42. ->see('<span>Operation log</span>')
  43. ->see('<span>Menu</span>');
  44. }
  45. public function testUpdateUser()
  46. {
  47. $this->visit('admin/auth/users/'.$this->user->id.'/edit')
  48. ->see('Edit')
  49. ->submitForm('Submit', ['name' => 'test', 'roles' => [1]])
  50. ->seePageIs('admin/auth/users')
  51. ->seeInDatabase(config('admin.database.users_table'), ['name' => 'test']);
  52. }
  53. public function testResetPassword()
  54. {
  55. $password = 'odjwyufkglte';
  56. $data = [
  57. 'password' => $password,
  58. 'password_confirmation' => $password,
  59. 'roles' => [1],
  60. ];
  61. $this->visit('admin/auth/users/'.$this->user->id.'/edit')
  62. ->see('Edit')
  63. ->submitForm('Submit', $data)
  64. ->seePageIs('admin/auth/users')
  65. ->visit('admin/auth/logout')
  66. ->dontSeeIsAuthenticated('admin')
  67. ->seePageIs('admin/auth/login')
  68. ->submitForm('Login', ['username' => $this->user->username, 'password' => $password])
  69. ->see('dashboard')
  70. ->seeIsAuthenticated('admin')
  71. ->seePageIs('admin');
  72. }
  73. }