UserSettingTest.php 2.2 KB

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