@@ 947-972 (lines=26) @@ | ||
944 | * @see \eZ\Publish\API\Repository\ContentTypeService::createContentType() |
|
945 | * @depends eZ\Publish\API\Repository\Tests\ContentTypeServiceTest::testCreateContentType |
|
946 | */ |
|
947 | public function testCreateContentTypeThrowsInvalidArgumentExceptionDuplicateIdentifier() |
|
948 | { |
|
949 | $this->expectException(\eZ\Publish\API\Repository\Exceptions\InvalidArgumentException::class); |
|
950 | $this->expectExceptionMessage('Argument \'$contentTypeCreateStruct\' is invalid: Another Content Type with identifier \'folder\' exists'); |
|
951 | ||
952 | $repository = $this->getRepository(); |
|
953 | ||
954 | /* BEGIN: Use Case */ |
|
955 | $contentTypeService = $repository->getContentTypeService(); |
|
956 | ||
957 | $typeCreate = $contentTypeService->newContentTypeCreateStruct('folder'); |
|
958 | $typeCreate->mainLanguageCode = 'eng-GB'; |
|
959 | $typeCreate->names = ['eng-GB' => 'Article']; |
|
960 | ||
961 | $firstFieldCreate = $contentTypeService->newFieldDefinitionCreateStruct('title', 'ezstring'); |
|
962 | $typeCreate->addFieldDefinition($firstFieldCreate); |
|
963 | ||
964 | $groups = [ |
|
965 | $contentTypeService->loadContentTypeGroupByIdentifier('Media'), |
|
966 | $contentTypeService->loadContentTypeGroupByIdentifier('Setup'), |
|
967 | ]; |
|
968 | ||
969 | // Throws exception, since type "folder" exists |
|
970 | $contentTypeService->createContentType($typeCreate, $groups); |
|
971 | /* END: Use Case */ |
|
972 | } |
|
973 | ||
974 | /** |
|
975 | * Test for the createContentType() method trying to create Content Type with already existing |
|
@@ 981-1007 (lines=27) @@ | ||
978 | * @covers \eZ\Publish\API\Repository\ContentTypeService::createContentType() |
|
979 | * @depends eZ\Publish\API\Repository\Tests\ContentTypeServiceTest::testCreateContentType |
|
980 | */ |
|
981 | public function testCreateContentTypeThrowsInvalidArgumentExceptionDuplicateRemoteId() |
|
982 | { |
|
983 | $this->expectException(\eZ\Publish\API\Repository\Exceptions\InvalidArgumentException::class); |
|
984 | $this->expectExceptionMessage('Another Content Type with remoteId \'a3d405b81be900468eb153d774f4f0d2\' exists'); |
|
985 | ||
986 | $repository = $this->getRepository(); |
|
987 | ||
988 | /* BEGIN: Use Case */ |
|
989 | $contentTypeService = $repository->getContentTypeService(); |
|
990 | ||
991 | $typeCreate = $contentTypeService->newContentTypeCreateStruct('news-article'); |
|
992 | $typeCreate->remoteId = 'a3d405b81be900468eb153d774f4f0d2'; |
|
993 | $typeCreate->mainLanguageCode = 'eng-GB'; |
|
994 | $typeCreate->names = ['eng-GB' => 'Article']; |
|
995 | ||
996 | $firstFieldCreate = $contentTypeService->newFieldDefinitionCreateStruct('title', 'ezstring'); |
|
997 | $typeCreate->addFieldDefinition($firstFieldCreate); |
|
998 | ||
999 | $groups = [ |
|
1000 | $contentTypeService->loadContentTypeGroupByIdentifier('Media'), |
|
1001 | $contentTypeService->loadContentTypeGroupByIdentifier('Setup'), |
|
1002 | ]; |
|
1003 | ||
1004 | // Throws exception, since "folder" type has this remote ID |
|
1005 | $contentTypeService->createContentType($typeCreate, $groups); |
|
1006 | /* END: Use Case */ |
|
1007 | } |
|
1008 | ||
1009 | /** |
|
1010 | * Test for the createContentType() method creating content with duplicate field identifiers. |