OperationLogTest.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace Tests\Feature;
  3. use Tests\TestCase;
  4. use Dcat\Admin\Models\OperationLog;
  5. class OperationLogTest extends TestCase
  6. {
  7. protected $login = true;
  8. public function testOperationLogIndex()
  9. {
  10. $this->visit('admin/auth/logs')
  11. ->see('Operation log')
  12. ->see('List')
  13. ->see('GET')
  14. ->see('admin/auth/logs');
  15. }
  16. public function testGenerateLogs()
  17. {
  18. $table = config('admin.database.operation_log_table');
  19. $this->visit('admin/auth/menu')
  20. ->seePageIs('admin/auth/menu')
  21. ->visit('admin/auth/users')
  22. ->seePageIs('admin/auth/users')
  23. ->visit('admin/auth/permissions')
  24. ->seePageIs('admin/auth/permissions')
  25. ->visit('admin/auth/roles')
  26. ->seePageIs('admin/auth/roles')
  27. ->visit('admin/auth/logs')
  28. ->seePageIs('admin/auth/logs')
  29. ->seeInDatabase($table, ['path' => 'admin/auth/menu', 'method' => 'GET'])
  30. ->seeInDatabase($table, ['path' => 'admin/auth/users', 'method' => 'GET'])
  31. ->seeInDatabase($table, ['path' => 'admin/auth/permissions', 'method' => 'GET'])
  32. ->seeInDatabase($table, ['path' => 'admin/auth/roles', 'method' => 'GET']);
  33. $this->assertEquals(4, OperationLog::count());
  34. }
  35. public function testDeleteLogs()
  36. {
  37. $table = config('admin.database.operation_log_table');
  38. $this->visit('admin/auth/logs')
  39. ->seePageIs('admin/auth/logs')
  40. ->assertEquals(0, OperationLog::count());
  41. $this->visit('admin/auth/users');
  42. $this->seeInDatabase($table, ['path' => 'admin/auth/users', 'method' => 'GET']);
  43. $this->delete('admin/auth/logs/1')
  44. ->assertEquals(0, OperationLog::count());
  45. }
  46. public function testDeleteMultipleLogs()
  47. {
  48. $table = config('admin.database.operation_log_table');
  49. $this->visit('admin/auth/menu')
  50. ->visit('admin/auth/users')
  51. ->visit('admin/auth/permissions')
  52. ->visit('admin/auth/roles')
  53. ->seeInDatabase($table, ['path' => 'admin/auth/menu', 'method' => 'GET'])
  54. ->seeInDatabase($table, ['path' => 'admin/auth/users', 'method' => 'GET'])
  55. ->seeInDatabase($table, ['path' => 'admin/auth/permissions', 'method' => 'GET'])
  56. ->seeInDatabase($table, ['path' => 'admin/auth/roles', 'method' => 'GET'])
  57. ->assertEquals(4, OperationLog::count());
  58. $this->delete('admin/auth/logs/1,2,3,4')
  59. ->notSeeInDatabase($table, ['path' => 'admin/auth/menu', 'method' => 'GET'])
  60. ->notSeeInDatabase($table, ['path' => 'admin/auth/users', 'method' => 'GET'])
  61. ->notSeeInDatabase($table, ['path' => 'admin/auth/permissions', 'method' => 'GET'])
  62. ->notSeeInDatabase($table, ['path' => 'admin/auth/roles', 'method' => 'GET'])
  63. ->assertEquals(0, OperationLog::count());
  64. }
  65. }