7 changed files with 62 additions and 3 deletions
			
			
		| @ -0,0 +1,10 @@ | |||||
|  | <phpunit | ||||
|  |     colors="true" | ||||
|  |     bootstrap="tests/bootstrap.php" | ||||
|  |     > | ||||
|  |     <testsuites> | ||||
|  |         <testsuite name="Darksparrow/AuxiliumSchemaBuilder Tests"> | ||||
|  |             <directory>tests</directory> | ||||
|  |         </testsuite> | ||||
|  |     </testsuites> | ||||
|  | </phpunit> | ||||
| @ -0,0 +1,24 @@ | |||||
|  | <?php | ||||
|  | 
 | ||||
|  | namespace Darksparrow\AuxiliumSchemaBuilder\Utilities; | ||||
|  | 
 | ||||
|  | use Darksparrow\AuxiliumSchemaBuilder\Attributes\SchemaDocument; | ||||
|  | use ReflectionClass; | ||||
|  | 
 | ||||
|  | class URLHandling | ||||
|  | { | ||||
|  |     public static string $URLBase = "https://schemas.auxiliumsoftware.co.uk/v1/"; | ||||
|  |     public static function GetURLForSchema(string $targetSchemaClassName): string | ||||
|  |     { | ||||
|  |         $reflection = new ReflectionClass(new $targetSchemaClassName()); | ||||
|  |         foreach($reflection->getAttributes() as $attribute) | ||||
|  |         { | ||||
|  |             if($attribute->getName() === SchemaDocument::class) | ||||
|  |             { | ||||
|  |                 $name = $attribute->getArguments()["Name"]; | ||||
|  |                 return self::$URLBase . $name . ".json"; | ||||
|  |             } | ||||
|  |         } | ||||
|  |         die(); | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,20 @@ | |||||
|  | <?php | ||||
|  | 
 | ||||
|  | require_once __DIR__ . "/../examples/Schemas/Message.php"; | ||||
|  | require_once __DIR__ . "/../examples/Schemas/Organisation.php"; | ||||
|  | 
 | ||||
|  | use Darksparrow\AuxiliumSchemaBuilder\Examples\SchemaBuilder\Schemas\Message; | ||||
|  | use Darksparrow\AuxiliumSchemaBuilder\Utilities\URLHandling; | ||||
|  | use PHPUnit\Framework\TestCase; | ||||
|  | 
 | ||||
|  | final class SchemaURITest extends TestCase | ||||
|  | { | ||||
|  |     public function test0() | ||||
|  |     { | ||||
|  |         URLHandling::$URLBase = "https://schemas.auxiliumsoftware.co.uk/v1/"; | ||||
|  |         self::assertEquals( | ||||
|  |             expected: "https://schemas.auxiliumsoftware.co.uk/v1/message.json", | ||||
|  |             actual: URLHandling::GetURLForSchema(Message::class), | ||||
|  |         ); | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,3 @@ | |||||
|  | <?php | ||||
|  | 
 | ||||
|  | namespace tests; | ||||
					Loading…
					
					
				
		Reference in new issue