/** * @covers Contentful\Delivery\ContentTypeField::__construct * @covers Contentful\Delivery\ContentTypeField::getId * @covers Contentful\Delivery\ContentTypeField::getName * @covers Contentful\Delivery\ContentTypeField::getType * @covers Contentful\Delivery\ContentTypeField::getLinkType * @covers Contentful\Delivery\ContentTypeField::getItemsLinkType * @covers Contentful\Delivery\ContentTypeField::getItemsType * @covers Contentful\Delivery\ContentTypeField::isRequired * @covers Contentful\Delivery\ContentTypeField::isLocalized * @covers Contentful\Delivery\ContentTypeField::isDisabled */ public function testGetter() { $field = new ContentTypeField('id', 'name', 'type', 'linkType', 'itemsType', 'itemsLinkType', true, false, false); $this->assertEquals('id', $field->getId()); $this->assertEquals('name', $field->getName()); $this->assertEquals('type', $field->getType()); $this->assertEquals('linkType', $field->getLinkType()); $this->assertEquals('itemsLinkType', $field->getItemsLinkType()); $this->assertEquals('itemsType', $field->getItemsType()); $this->assertEquals(true, $field->isRequired()); $this->assertEquals(false, $field->isLocalized()); $this->assertEquals(false, $field->isDisabled()); }
/** * Get the docblock for the getter method for the given field. * * @param ContentTypeField $field * * @return string */ protected function getMethodDocBlockType(ContentTypeField $field) { $type = $field->getType(); $result = ''; $typeMap = ['Symbol' => 'string', 'Text' => 'string', 'Integer' => 'int', 'Number' => 'float', 'Boolean' => 'bool', 'Date' => '\\DateTimeImmutable', 'Location' => '\\Contentful\\Location', 'Object' => 'object|array']; if (isset($typeMap[$type])) { $result = $typeMap[$type]; } elseif ($type === 'Array') { $result = 'array'; } elseif ($type === 'Link') { $linkType = $field->getLinkType(); if ($linkType === 'Entry') { $result = '\\Contentful\\Delivery\\DynamicEntry'; } elseif ($linkType === 'Asset') { $result = '\\Contentful\\Delivery\\Asset'; } else { throw new \InvalidArgumentException('Unexpected link type "' . $linkType . '" encountered while trying to generate class.'); } } else { throw new \InvalidArgumentException('Unexpected field type "' . $type . '" encountered while trying to generate class.'); } if (!$field->isRequired()) { $result .= '|null'; } return $result; }