OperationLogTest.php 3.0 KB

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