From 9a2f2465116387880282df505e3d3230516604dd Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Tue, 18 Dec 2018 04:43:13 +0100 Subject: metrics: Added more stats --- tests/Unit/Controllers/Metrics/ControllerTest.php | 40 +++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'tests/Unit/Controllers/Metrics/ControllerTest.php') diff --git a/tests/Unit/Controllers/Metrics/ControllerTest.php b/tests/Unit/Controllers/Metrics/ControllerTest.php index 013a3352..37310ddf 100644 --- a/tests/Unit/Controllers/Metrics/ControllerTest.php +++ b/tests/Unit/Controllers/Metrics/ControllerTest.php @@ -11,6 +11,7 @@ use Engelsystem\Http\Request; use Engelsystem\Http\Response; use Engelsystem\Test\Unit\TestCase; use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LogLevel; use Symfony\Component\HttpFoundation\ServerBag; class ControllerTest extends TestCase @@ -36,9 +37,18 @@ class ControllerTest extends TestCase ->willReturnCallback(function ($path, $data) use ($response) { $this->assertEquals('/metrics', $path); $this->assertArrayHasKey('users', $data); + $this->assertArrayHasKey('licenses', $data); $this->assertArrayHasKey('users_working', $data); $this->assertArrayHasKey('work_seconds', $data); + $this->assertArrayHasKey('worklog_seconds', $data); + $this->assertArrayHasKey('shifts', $data); + $this->assertArrayHasKey('announcements', $data); + $this->assertArrayHasKey('questions', $data); + $this->assertArrayHasKey('messages', $data); + $this->assertArrayHasKey('password_resets', $data); $this->assertArrayHasKey('registration_enabled', $data); + $this->assertArrayHasKey('sessions', $data); + $this->assertArrayHasKey('log_entries', $data); $this->assertArrayHasKey('scrape_duration_seconds', $data); return 'metrics return'; @@ -53,6 +63,10 @@ class ControllerTest extends TestCase ->with('metrics return') ->willReturn($response); + $stats->expects($this->exactly(5)) + ->method('licenses') + ->withConsecutive(['forklift'], ['car'], ['3.5t'], ['7.5t'], ['12.5t']) + ->willReturnOnConsecutiveCalls(3, 15, 9, 7, 1); $stats->expects($this->exactly(2)) ->method('arrivedUsers') ->withConsecutive([false], [true]) @@ -65,7 +79,33 @@ class ControllerTest extends TestCase ->method('workSeconds') ->withConsecutive([true, false], [false, false], [null, true]) ->willReturnOnConsecutiveCalls(60 * 37, 60 * 251, 60 * 3); + $stats->expects($this->exactly(2)) + ->method('announcements') + ->withConsecutive([false], [true]) + ->willReturnOnConsecutiveCalls(18, 7); + $stats->expects($this->exactly(2)) + ->method('questions') + ->withConsecutive([true], [false]) + ->willReturnOnConsecutiveCalls(5, 0); + $stats->expects($this->exactly(8)) + ->method('logEntries') + ->withConsecutive( + [LogLevel::EMERGENCY], + [LogLevel::ALERT], + [LogLevel::CRITICAL], + [LogLevel::ERROR], + [LogLevel::WARNING], + [LogLevel::NOTICE], + [LogLevel::INFO], + [LogLevel::DEBUG] + ) + ->willReturnOnConsecutiveCalls(0, 1, 0, 5, 999, 4, 55, 3); $this->setExpects($stats, 'newUsers', null, 9); + $this->setExpects($stats, 'worklogSeconds', null, 39 * 60 * 60); + $this->setExpects($stats, 'shifts', null, 142); + $this->setExpects($stats, 'messages', null, 3); + $this->setExpects($stats, 'passwordResets', null, 1); + $this->setExpects($stats, 'sessions', null, 1234); $config->set('registration_enabled', 1); -- cgit v1.2.3-70-g09d2