From e55e019524e76ec2dd7449276767d97193563f44 Mon Sep 17 00:00:00 2001 From: Perside Rosalie Date: Tue, 13 Jan 2026 07:20:36 +0100 Subject: [PATCH 1/2] Add test for user count and page count for deleted wikis metrics Bug: T401471 --- tests/Metrics/WikiMetricsTest.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/Metrics/WikiMetricsTest.php b/tests/Metrics/WikiMetricsTest.php index f594502f1..dd7a8c896 100644 --- a/tests/Metrics/WikiMetricsTest.php +++ b/tests/Metrics/WikiMetricsTest.php @@ -363,4 +363,32 @@ public function testSavesEntityCountsCorrectly($expectedItemCount, $expectedProp 'entity_schema_count' => $expectedEntitySchemaCount, // redirects should be ignored ]); } + + public function testSavesCorrectUserCountAndPagesForDeletedWikis() { + $this->markTestSkipped(); // https://phabricator.wikimedia.org/T402189 should be resolved for this test to pass. + $wiki = Wiki::factory()->create([ + 'domain' => 'somedomain.wikibase.cloud', + ]); + $wikiDb = WikiDb::first(); + $wikiDb->update(['wiki_id' => $wiki->id]); + Http::fake([ + 'somedomain.wikibase.cloud' => Http::response([ + 'query' => [ + 'statistics' => [ + 'users' => 5, + 'pages' => 10, + ], + ], + ], 200), + ]); + $wiki->delete(); + (new WikiMetrics)->saveMetrics($wiki); + + $this->assertDatabaseHas('wiki_daily_metrics', [ + 'wiki_id' => $wiki->id, + 'pages' => 10, + 'total_user_count' => 5, + 'is_deleted' => 1, + ]); + } } From 708bb22963e85b05eaf6706abf718532cedf7ef9 Mon Sep 17 00:00:00 2001 From: Perside Rosalie Date: Fri, 4 Sep 2026 15:09:12 +0200 Subject: [PATCH 2/2] Fix linting error --- tests/Metrics/WikiMetricsTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Metrics/WikiMetricsTest.php b/tests/Metrics/WikiMetricsTest.php index bcdb69f68..dc10b8658 100644 --- a/tests/Metrics/WikiMetricsTest.php +++ b/tests/Metrics/WikiMetricsTest.php @@ -456,7 +456,7 @@ public function testSavesCorrectUserCountAndPagesForDeletedWikis() { ], 200), ]); $wiki->delete(); - (new WikiMetrics)->saveMetrics($wiki); + (new WikiMetrics())->saveMetrics($wiki); $this->assertDatabaseHas('wiki_daily_metrics', [ 'wiki_id' => $wiki->id,