public function testIsFieldEmpty() { $contentTypeId = 123; $contentInfo = new ContentInfo(array('contentTypeId' => $contentTypeId)); $content = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\Content'); $content->expects($this->any())->method('__get')->with('contentInfo')->will($this->returnValue($contentInfo)); $fieldDefIdentifier = 'my_field_definition'; $textLineFT = new TextLineType(); $emptyValue = $textLineFT->getEmptyValue(); $emptyField = new Field(array('fieldDefIdentifier' => $fieldDefIdentifier, 'value' => $emptyValue)); $contentType = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\ContentType\\ContentType'); $fieldDefinition = $this->getMockBuilder('eZ\\Publish\\API\\Repository\\Values\\ContentType\\FieldDefinition')->setConstructorArgs(array(array('fieldTypeIdentifier' => 'ezstring')))->getMockForAbstractClass(); $contentType->expects($this->once())->method('getFieldDefinition')->with($fieldDefIdentifier)->will($this->returnValue($fieldDefinition)); $this->contentTypeServiceMock->expects($this->once())->method('loadContentType')->with($contentTypeId)->will($this->returnValue($contentType)); $this->translationHelper->expects($this->once())->method('getTranslatedField')->with($content, $fieldDefIdentifier)->will($this->returnValue($emptyField)); $this->fieldTypeServiceMock->expects($this->any())->method('getFieldType')->with('ezstring')->will($this->returnValue($textLineFT)); $this->assertTrue($this->fieldHelper->isFieldEmpty($content, $fieldDefIdentifier)); }
/** * Returns the field type under test. * * This method is used by all test cases to retrieve the field type under * test. Just create the FieldType instance using mocks from the provided * get*Mock() methods and/or custom get*Mock() implementations. You MUST * NOT take care for test case wide caching of the field type, just return * a new instance from this method! * * @return FieldType */ protected function createFieldTypeUnderTest() { $fieldType = new TextLineType(); $fieldType->setTransformationProcessor($this->getTransformationProcessorMock()); return $fieldType; }
/** * Get handler with required custom field types registered. * * @return Handler */ public function getCustomHandler() { $fieldType = new FieldType\TextLine\Type(); $fieldType->setTransformationProcessor($this->getTransformationProcessor()); return $this->getHandler('ezstring', $fieldType, new Legacy\Content\FieldValue\Converter\TextLineConverter(), new FieldType\NullStorage()); }