mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-26 23:21:36 +01:00
Added more tests and fixed changelog
This commit is contained in:
66
tests/Unit/Controllers/SpeedtestController/DeleteTest.php
Normal file
66
tests/Unit/Controllers/SpeedtestController/DeleteTest.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use App\Speedtest;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class DeleteTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testDeleteAll()
|
||||
{
|
||||
for($i = 0; $i < 5; $i++) {
|
||||
Speedtest::create([
|
||||
'download' => 5,
|
||||
'upload' => 5,
|
||||
'ping' => 5
|
||||
]);
|
||||
}
|
||||
|
||||
$this->assertEquals(5, Speedtest::count());
|
||||
|
||||
$resp = $this->controller->deleteAll()->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('success', $resp);
|
||||
|
||||
$this->assertEquals(0, Speedtest::count());
|
||||
}
|
||||
|
||||
public function testDeleteSpecific()
|
||||
{
|
||||
$test = Speedtest::create([
|
||||
'download' => 5,
|
||||
'upload' => 5,
|
||||
'ping' => 5
|
||||
]);
|
||||
$id = $test->id;
|
||||
|
||||
$this->assertNotNull(Speedtest::find($id));
|
||||
|
||||
$resp = $this->controller->delete($test)->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('success', $resp);
|
||||
|
||||
$this->assertNull(Speedtest::find($id));
|
||||
}
|
||||
}
|
||||
43
tests/Unit/Controllers/SpeedtestController/FailTest.php
Normal file
43
tests/Unit/Controllers/SpeedtestController/FailTest.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class FailTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testFail()
|
||||
{
|
||||
$resp = $this->controller->fail(5)->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('data', $resp);
|
||||
$this->assertArrayHasKey('days', $resp);
|
||||
}
|
||||
|
||||
public function testFailInvalidInput()
|
||||
{
|
||||
$resp = $this->controller->fail('test')->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('error', $resp);
|
||||
}
|
||||
}
|
||||
34
tests/Unit/Controllers/SpeedtestController/IndexTest.php
Normal file
34
tests/Unit/Controllers/SpeedtestController/IndexTest.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class IndexTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testIndex()
|
||||
{
|
||||
$resp = $this->controller->index()->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('data', $resp);
|
||||
}
|
||||
}
|
||||
58
tests/Unit/Controllers/SpeedtestController/LatestTest.php
Normal file
58
tests/Unit/Controllers/SpeedtestController/LatestTest.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use App\Speedtest;
|
||||
use DB;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class LatestTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testLatestNoEntries()
|
||||
{
|
||||
DB::table('speedtests')->delete();
|
||||
|
||||
$resp = $this->controller->latest();
|
||||
$resp = $resp->original;
|
||||
|
||||
$this->assertEquals([
|
||||
'method' => 'get latest speedtest',
|
||||
'error' => 'no speedtests have been run'
|
||||
], $resp);
|
||||
}
|
||||
|
||||
public function testLatest()
|
||||
{
|
||||
$test = Speedtest::create([
|
||||
'download' => 5,
|
||||
'upload' => 5,
|
||||
'ping' => 5
|
||||
]);
|
||||
$test = $test->attributesToArray();
|
||||
|
||||
$resp = $this->controller->latest();
|
||||
$resp = $resp->original;
|
||||
|
||||
$this->assertArrayHasKey('data', $resp);
|
||||
$this->assertArrayHasKey('average', $resp);
|
||||
$this->assertArrayHasKey('max', $resp);
|
||||
}
|
||||
}
|
||||
42
tests/Unit/Controllers/SpeedtestController/RunTest.php
Normal file
42
tests/Unit/Controllers/SpeedtestController/RunTest.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use App\Jobs\SpeedtestJob;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Queue;
|
||||
use Tests\TestCase;
|
||||
|
||||
class RunTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testRun()
|
||||
{
|
||||
Queue::fake();
|
||||
|
||||
$resp = $this->controller->run()->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('data', $resp);
|
||||
|
||||
Queue::assertPushed(SpeedtestJob::class, function($job) {
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
43
tests/Unit/Controllers/SpeedtestController/TimeTest.php
Normal file
43
tests/Unit/Controllers/SpeedtestController/TimeTest.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Controllers\SpeedtestController;
|
||||
|
||||
use App\Http\Controllers\SpeedtestController;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class TimeTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
/**
|
||||
* SpeedtestController
|
||||
*
|
||||
* @var SpeedtestController
|
||||
*/
|
||||
private $controller;
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->controller = new SpeedtestController();
|
||||
}
|
||||
|
||||
public function testTime()
|
||||
{
|
||||
$resp = $this->controller->time(5)->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('data', $resp);
|
||||
$this->assertArrayHasKey('days', $resp);
|
||||
}
|
||||
|
||||
public function testTimeInvalidInput()
|
||||
{
|
||||
$resp = $this->controller->time('test')->original;
|
||||
|
||||
$this->assertArrayHasKey('method', $resp);
|
||||
$this->assertArrayHasKey('error', $resp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user