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