Added initial unit tests

This commit is contained in:
Chris Kankiewicz
2019-12-14 23:39:53 -07:00
parent 149ccc108c
commit d7fa7e9bbd
4 changed files with 93 additions and 0 deletions

13
phpunit.xml Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
<testsuites>
<testsuite name="Directory Lister Test Suite">
<directory suffix="Test.php">tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src/</directory>
</whitelist>
</filter>
</phpunit>

View File

@@ -0,0 +1,30 @@
<?php
namespace Tests\Controllers;
use App\Controllers\DirectoryController;
use PHLAK\Config\Config;
use PHPUnit\Framework\TestCase;
use Psr\Http\Message\ResponseInterface;
use Slim\Psr7\Response;
use Slim\Views\Twig;
use Symfony\Component\Finder\Finder;
class DirectoryControllerTest extends TestCase
{
public function test_it_returns_a_response()
{
$controller = new DirectoryController(
$this->createMock(Config::class),
$this->createMock(Twig::class)
);
$response = $controller(
$this->createMock(Finder::class),
$this->createMock(Response::class),
'tests/files'
);
$this->assertInstanceOf(ResponseInterface::class, $response);
}
}

View File

@@ -0,0 +1,49 @@
<?php
namespace Tests\Unit\Support;
use PHPUnit\Framework\TestCase;
class HelpersTest extends TestCase
{
public function test_it_can_get_an_environment_variable()
{
putenv('TEST_STRING=Test string; please ignore');
$env = env('TEST_STRING');
$this->assertEquals('Test string; please ignore', $env);
}
public function test_it_can_return_a_default_value()
{
$env = env('DEFAULT_TEST', 'Test default; please ignore');
$this->assertEquals('Test default; please ignore', $env);
}
public function test_it_can_a_retrieve_boolean_value()
{
putenv('TRUE_TEST=true');
putenv('FALSE_TEST=false');
$this->assertTrue(env('TRUE_TEST'));
$this->assertFalse(env('FALSE_TEST'));
}
public function test_it_can_retrieve_a_null_value()
{
putenv('NULL_TEST=null');
$this->assertNull(env('NULL_TEST'));
}
public function test_it_can_be_surrounded_bys_quotation_marks()
{
putenv('QUOTES_TEST="Test charlie; please ignore"');
$env = env('QUOTES_TEST');
$this->assertEquals('Test charlie; please ignore', $env);
}
}

1
tests/files/test.txt Normal file
View File

@@ -0,0 +1 @@
Test file; please ignore