UserSettingTest.php 2.2 KB

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