| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- /**
- * @license Apache 2.0
- */
- namespace SwaggerTests;
- use Swagger\Processors\AugmentDefinitions;
- use Swagger\Processors\AugmentProperties;
- use Swagger\Processors\MergeIntoSwagger;
- use Swagger\StaticAnalyser;
- class AugmentPropertiesTest extends SwaggerTestCase
- {
- public function testAugmentProperties()
- {
- $analyser = new StaticAnalyser();
- $analysis = $analyser->fromFile(__DIR__ . '/Fixtures/Customer.php');
- $analysis->process(new MergeIntoSwagger());
- $this->assertCount(1, $analysis->swagger->definitions);
- $customer = $analysis->swagger->definitions[0];
- $this->assertSame(null, $customer->properties, 'Sanity check. @SWG\Property\'s not yet erged ');
- $analysis->process(new AugmentDefinitions());
- $analysis->process(new AugmentProperties());
- $firstname = $customer->properties[0];
- $this->assertSame('firstname', $firstname->property, '@SWG\Property()->property based on propertyname');
- $this->assertSame('The firstname of the customer.', $firstname->description, '@SWG\Property()->description based on @var description');
- $this->assertSame('string', $firstname->type, '@SWG\Property()->type based on @var declaration');
- $lastname = $customer->properties[1];
- $this->assertSame('lastname', $lastname->property);
- $this->assertSame('The lastname of the customer.', $lastname->description);
- $this->assertSame('string', $lastname->type);
- $tags = $customer->properties[2];
- $this->assertSame('tags', $tags->property);
- $this->assertSame('array', $tags->type, 'Detect array notation: @var string[]');
- $this->assertSame('string', $tags->items->type);
- $submittedBy = $customer->properties[3];
- $this->assertSame('submittedBy', $submittedBy->property);
- $this->assertSame('#/definitions/Customer', $submittedBy->ref);
- $friends = $customer->properties[4];
- $this->assertSame('friends', $friends->property);
- $this->assertSame('array', $friends->type);
- $this->assertSame('#/definitions/Customer', $friends->items->ref);
- }
- }
|