pdo-document/tests/unit/ConfigurationTest.php
Daniel J. Summers 330e272187 alpha2 (#2)
- Change multiple field matching to enum
- Implement auto-generated IDs

Reviewed-on: #2
2024-06-11 11:07:56 +00:00

52 lines
1.6 KiB
PHP

<?php declare(strict_types=1);
namespace Test\Unit;
use BitBadger\PDODocument\{AutoId, Configuration, DocumentException};
use PHPUnit\Framework\Attributes\TestDox;
use PHPUnit\Framework\TestCase;
/**
* Unit tests for the Configuration class
*/
class ConfigurationTest extends TestCase
{
#[TestDox('ID field default succeeds')]
public function testIdFieldDefaultSucceeds(): void
{
$this->assertEquals('id', Configuration::$idField, 'Default ID field should be "id"');
}
#[TestDox('ID field change succeeds')]
public function testIdFieldChangeSucceeds()
{
try {
Configuration::$idField = 'EyeDee';
$this->assertEquals('EyeDee', Configuration::$idField, 'ID field should have been updated');
} finally {
Configuration::$idField = 'id';
$this->assertEquals('id', Configuration::$idField, 'Default ID value should have been restored');
}
}
#[TestDox('Auto ID default succeeds')]
public function testAutoIdDefaultSucceeds(): void
{
$this->assertEquals(AutoId::None, Configuration::$autoId, 'Auto ID should default to None');
}
#[TestDox('ID string length default succeeds')]
public function testIdStringLengthDefaultSucceeds(): void
{
$this->assertEquals(16, Configuration::$idStringLength, 'ID string length should default to 16');
}
#[TestDox("Db conn fails when no DSN specified")]
public function testDbConnFailsWhenNoDSNSpecified(): void
{
$this->expectException(DocumentException::class);
Configuration::$pdoDSN = '';
Configuration::dbConn();
}
}