- Change multiple field matching to enum - Implement auto-generated IDs Reviewed-on: #2
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			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();
 | |
|     }
 | |
| }
 |