UserSettingTest.php 2.2 KB

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