More unittests

This commit is contained in:
2023-11-14 09:09:15 +00:00
parent bedc666f7c
commit cadb207758
7 changed files with 136 additions and 54 deletions

View File

@ -6,6 +6,7 @@ namespace App\Tests;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use Psr\Log\LoggerInterface;
use App\App;
@ -25,4 +26,55 @@ final class AppTest extends \PHPUnit\Framework\TestCase
$this->assertEquals('output.log', $app->getConfig('log'));
$this->assertInstanceOf(LoggerInterface::class, $app->getLogger());
}
public function testBadConfigFileSyntaxError(): void
{
$this->expectException(\TypeError::class);
$app = new App('tests/config/bad/syntaxerror.yml');
$app->getConfig('rclone');
$app->getConfig('rclone.path');
$app->getConfig('backup');
$app->getConfig('notification');
$app->getConfig('log');
$app->getConfig('templates');
$app->getConfig('templates.notify');
$app->getConfig('templates.error');
$this->fail('Exception was not thrown');
}
public function testBadConfigFileEmpty(): void
{
$this->expectException(\TypeError::class);
$app = new App('tests/config/bad/empty.yml');
$app->getConfig('rclone');
$app->getConfig('rclone.path');
$app->getConfig('backup');
$app->getConfig('notification');
$app->getConfig('log');
$app->getConfig('templates');
$app->getConfig('templates.notify');
$app->getConfig('templates.error');
$this->fail('Exception was not thrown');
}
public function testBadConfigFileTypos(): void
{
$this->expectException(\League\Config\Exception\ValidationException::class);
$app = new App('tests/config/bad/typos.yml');
$app->getConfig('rclone');
$app->getConfig('rclone.path');
$app->getConfig('backup');
$app->getConfig('notification');
$app->getConfig('log');
$app->getConfig('templates');
$app->getConfig('templates.notify');
$app->getConfig('templates.error');
$this->fail('Exception was not thrown');
}
}