]> BookStack Code Mirror - bookstack/blobdiff - tests/AuditLogTest.php
Add unit test for ip addess searching
[bookstack] / tests / AuditLogTest.php
index 9f6576a46dadcf6ba0dab8e8f8342f947d3dcc71..26eb2b9f9c3b910110318cb592a318f414300a83 100644 (file)
@@ -17,7 +17,7 @@ class AuditLogTest extends TestCase
     /** @var ActivityService */
     protected $activityService;
 
-    public function setUp(): void
+    protected function setUp(): void
     {
         parent::setUp();
         $this->activityService = app(ActivityService::class);
@@ -152,13 +152,13 @@ class AuditLogTest extends TestCase
             'name' => 'Updated page',
             'html' => '<p>Updated content</p>',
         ], [
-            'X-Forwarded-For' => '192.123.45.1'
+            'X-Forwarded-For' => '192.123.45.1',
         ])->assertRedirect($page->refresh()->getUrl());
 
         $this->assertDatabaseHas('activities', [
-            'type' => ActivityType::PAGE_UPDATE,
-            'ip' => '192.123.45.1',
-            'user_id' => $editor->id,
+            'type'      => ActivityType::PAGE_UPDATE,
+            'ip'        => '192.123.45.1',
+            'user_id'   => $editor->id,
             'entity_id' => $page->id,
         ]);
 
@@ -166,6 +166,24 @@ class AuditLogTest extends TestCase
         $resp->assertSee('192.123.45.1');
     }
 
+    public function test_ip_address_is_searchable()
+    {
+        config()->set('app.proxies', '*');
+        $editor = $this->getEditor();
+        /** @var Page $page */
+        $page = Page::query()->first();
+
+        $this->actingAs($editor)->put($page->getUrl(), [
+            'name' => 'Updated page',
+            'html' => '<p>Updated content</p>',
+        ], [
+            'X-Forwarded-For' => '192.123.45.1',
+        ])->assertRedirect($page->refresh()->getUrl());
+
+        $resp = $this->asAdmin()->get('/settings/audit?&ip=192.123');
+        $resp->assertSee('192.123.45.1');
+    }
+
     public function test_ip_address_not_logged_in_demo_mode()
     {
         config()->set('app.proxies', '*');
@@ -179,13 +197,13 @@ class AuditLogTest extends TestCase
             'html' => '<p>Updated content</p>',
         ], [
             'X-Forwarded-For' => '192.123.45.1',
-            'REMOTE_ADDR' => '192.123.45.2',
+            'REMOTE_ADDR'     => '192.123.45.2',
         ])->assertRedirect($page->refresh()->getUrl());
 
         $this->assertDatabaseHas('activities', [
-            'type' => ActivityType::PAGE_UPDATE,
-            'ip' => '127.0.0.1',
-            'user_id' => $editor->id,
+            'type'      => ActivityType::PAGE_UPDATE,
+            'ip'        => '127.0.0.1',
+            'user_id'   => $editor->id,
             'entity_id' => $page->id,
         ]);
     }