UserSettingTest.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace Tests\Feature;
  3. use Dcat\Admin\Models\Administrator;
  4. use Tests\TestCase;
  5. class UserSettingTest extends TestCase
  6. {
  7. public function testVisitSettingPage()
  8. {
  9. $this->visit('admin/auth/setting')
  10. ->see('User setting')
  11. ->see('Username')
  12. ->see('Name')
  13. ->see('Avatar')
  14. ->see('Password')
  15. ->see('Password confirmation');
  16. $this->seeElement('input[value=Administrator]')
  17. ->seeInElement('.box-body', 'administrator');
  18. }
  19. public function testUpdateName()
  20. {
  21. $data = [
  22. 'name' => 'tester',
  23. ];
  24. $this->visit('admin/auth/setting')
  25. ->submitForm('Submit', $data)
  26. ->seePageIs('admin/auth/setting');
  27. $this->seeInDatabase('admin_users', ['name' => $data['name']]);
  28. }
  29. public function testUpdatePasswordConfirmation()
  30. {
  31. $data = [
  32. 'password' => '123456',
  33. 'password_confirmation' => '123',
  34. ];
  35. $this->visit('admin/auth/setting')
  36. ->submitForm('Submit', $data)
  37. ->seePageIs('admin/auth/setting')
  38. ->see('The Password confirmation does not match.');
  39. }
  40. public function testUpdatePassword()
  41. {
  42. $data = [
  43. 'old_password' => 'admin',
  44. 'password' => '123456',
  45. 'password_confirmation' => '123456',
  46. ];
  47. $this->visit('admin/auth/setting')
  48. ->submitForm('Submit', $data)
  49. ->seePageIs('admin/auth/setting');
  50. $this->assertTrue(app('hash')->check($data['password'], Administrator::first()->makeVisible('password')->password));
  51. $this->visit('admin/auth/logout')
  52. ->seePageIs('admin/auth/login')
  53. ->dontSeeIsAuthenticated('admin');
  54. $credentials = ['username' => 'admin', 'password' => '123456'];
  55. $this->visit('admin/auth/login')
  56. ->see('login')
  57. ->submitForm('Login', $credentials)
  58. ->see('dashboard')
  59. ->seeCredentials($credentials, 'admin')
  60. ->seeIsAuthenticated('admin')
  61. ->seePageIs('admin');
  62. }
  63. }