From a71356f1977b44bd7cf41bedd9a606a10bd44097 Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Sun, 7 Mar 2021 14:05:41 +0000 Subject: [PATCH] Fix some tests --- app/Utils/OoklaTester.php | 6 +++--- database/.gitignore | 1 + phpunit.xml | 2 +- tests/Feature/APISpeedtestTest.php | 1 - .../SpeedtestHelper/CheckOutputTest.php | 21 ++++++++++++------- .../Helpers/SpeedtestHelper/SpeedtestTest.php | 15 ++++++++----- 6 files changed, 29 insertions(+), 17 deletions(-) diff --git a/app/Utils/OoklaTester.php b/app/Utils/OoklaTester.php index 41d7ee73..c7e275e0 100644 --- a/app/Utils/OoklaTester.php +++ b/app/Utils/OoklaTester.php @@ -23,7 +23,7 @@ class OoklaTester implements SpeedtestProvider try { $output = json_decode($output, true, 512, JSON_THROW_ON_ERROR); - if (!$this->isOutputIsComplete($output)) { + if (!$this->isOutputComplete($output)) { $test = false; } @@ -55,7 +55,7 @@ class OoklaTester implements SpeedtestProvider 'scheduled' => $scheduled, ]); - throw new SpeedtestFailureException($output); + throw new SpeedtestFailureException((string)$output); } Cache::flush(); @@ -90,7 +90,7 @@ class OoklaTester implements SpeedtestProvider * @param array $output * @return boolean */ - private static function isOutputIsComplete($output) + public static function isOutputComplete($output) { /** * Array of indexes that must exist in $output diff --git a/database/.gitignore b/database/.gitignore index 67c575a3..cd84cd69 100644 --- a/database/.gitignore +++ b/database/.gitignore @@ -1,3 +1,4 @@ *.sqlite *.sqlite-journal *.bak +*.db_test* diff --git a/phpunit.xml b/phpunit.xml index c883c35b..a9c385bf 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -18,7 +18,7 @@ - + diff --git a/tests/Feature/APISpeedtestTest.php b/tests/Feature/APISpeedtestTest.php index 401a6aef..fa13e7d0 100644 --- a/tests/Feature/APISpeedtestTest.php +++ b/tests/Feature/APISpeedtestTest.php @@ -56,7 +56,6 @@ class APISpeedtestTest extends TestCase $response->assertStatus(200); $response->assertJsonStructure([ - 'method', 'data' => [ 'id', 'ping', diff --git a/tests/Unit/Helpers/SpeedtestHelper/CheckOutputTest.php b/tests/Unit/Helpers/SpeedtestHelper/CheckOutputTest.php index ccedf32a..db99df80 100644 --- a/tests/Unit/Helpers/SpeedtestHelper/CheckOutputTest.php +++ b/tests/Unit/Helpers/SpeedtestHelper/CheckOutputTest.php @@ -2,11 +2,18 @@ namespace Tests\Unit\Helpers\SpeedtestHelper; -use App\Helpers\SpeedtestHelper; +use App\Utils\OoklaTester; use PHPUnit\Framework\TestCase; class CheckOutputTest extends TestCase { + private OoklaTester $speedtestProvider; + + public function __construct() + { + $this->speedtestProvider = new OoklaTester(); + } + /** * A basic unit test example. * @@ -16,9 +23,9 @@ class CheckOutputTest extends TestCase { $expected = [ 'type' => 'result', - 'download' => [ 'bandwidth' => '*' ], - 'upload' => [ 'bandwidth' => '*' ], - 'ping' => [ 'latency' => '*' ], + 'download' => ['bandwidth' => '*'], + 'upload' => ['bandwidth' => '*'], + 'ping' => ['latency' => '*'], 'server' => [ 'id' => '*', 'name' => '*', @@ -30,7 +37,7 @@ class CheckOutputTest extends TestCase ] ]; - $this->assertTrue(SpeedtestHelper::checkOutputIsComplete($expected)); + $this->assertTrue($this->speedtestProvider->isOutputComplete($expected)); } /** @@ -42,7 +49,7 @@ class CheckOutputTest extends TestCase { $expected = [ 'type' => 'result', - 'download' => [ 'bandwidth' => '*' ], + 'download' => ['bandwidth' => '*'], 'server' => [ 'id' => '*', 'name' => '*', @@ -54,6 +61,6 @@ class CheckOutputTest extends TestCase ] ]; - $this->assertFalse(SpeedtestHelper::checkOutputIsComplete($expected)); + $this->assertFalse($this->speedtestProvider->isOutputComplete($expected)); } } diff --git a/tests/Unit/Helpers/SpeedtestHelper/SpeedtestTest.php b/tests/Unit/Helpers/SpeedtestHelper/SpeedtestTest.php index 8ec152e9..bb854c5e 100644 --- a/tests/Unit/Helpers/SpeedtestHelper/SpeedtestTest.php +++ b/tests/Unit/Helpers/SpeedtestHelper/SpeedtestTest.php @@ -3,6 +3,7 @@ namespace Tests\Unit\Helpers\SpeedtestHelper; use App\Helpers\SpeedtestHelper; +use App\Utils\OoklaTester; use Illuminate\Foundation\Testing\RefreshDatabase; use JsonException; use Tests\TestCase; @@ -13,11 +14,15 @@ class SpeedtestTest extends TestCase private $output; - public function setUp() : void + private OoklaTester $speedtestProvider; + + public function setUp(): void { parent::setUp(); - $this->output = SpeedtestHelper::output(); + $this->speedtestProvider = new OoklaTester(); + + $this->output = $this->speedtestProvider->output(); } /** @@ -39,7 +44,7 @@ class SpeedtestTest extends TestCase { $output = json_decode($this->output, true); - $test = SpeedtestHelper::runSpeedtest($this->output); + $test = $this->speedtestProvider->run($this->output); $this->assertEquals($output['ping']['latency'], $test->ping); $this->assertEquals(SpeedtestHelper::convert($output['download']['bandwidth']), $test->download); @@ -55,7 +60,7 @@ class SpeedtestTest extends TestCase { $json = '{hi: hi}'; - $o = SpeedtestHelper::runSpeedtest($json); + $o = $this->speedtestProvider->run($json); $this->assertFalse($o); } @@ -69,7 +74,7 @@ class SpeedtestTest extends TestCase { $json = '{"hi": "hi"}'; - $o = SpeedtestHelper::runSpeedtest($json); + $o = $this->speedtestProvider->run($json); $this->assertFalse($o); }