diff --git a/src/app/Post/Application/UseCase/CreateUseCase.php b/src/app/Post/Application/UseCase/CreateUseCase.php index 1f14b93..10d0adb 100644 --- a/src/app/Post/Application/UseCase/CreateUseCase.php +++ b/src/app/Post/Application/UseCase/CreateUseCase.php @@ -17,6 +17,7 @@ public function __construct( public function handle( CreatePostUseCommand $command ) { + $entity = PostEntity::build( $command->toArray() ); diff --git a/src/app/Post/Domain/Entity/PostEntity.php b/src/app/Post/Domain/Entity/PostEntity.php index 4758e9c..f52418d 100644 --- a/src/app/Post/Domain/Entity/PostEntity.php +++ b/src/app/Post/Domain/Entity/PostEntity.php @@ -28,7 +28,14 @@ public static function build(array $request): self mediaPath: $request['mediaPath'] ?? null, visibility: $request['visibility'] instanceof PostVisibility ? $request['visibility'] - : new PostVisibility(PostVisibilityEnum::fromString($request['visibility'])) + : new PostVisibility( PostVisibilityEnum::from( + is_int($request['visibility']) + ? $request['visibility'] + : match (strtoupper((string)$request['visibility'])) { + 'PUBLIC' => PostVisibilityEnum::PRIVATE->value, + default => PostVisibilityEnum::PUBLIC->value, + } + )) ); } diff --git a/src/app/Post/Domain/EntityFactory/PostFromModelEntityFactory.php b/src/app/Post/Domain/EntityFactory/PostFromModelEntityFactory.php index ec2ea26..7d1063b 100644 --- a/src/app/Post/Domain/EntityFactory/PostFromModelEntityFactory.php +++ b/src/app/Post/Domain/EntityFactory/PostFromModelEntityFactory.php @@ -18,7 +18,7 @@ public static function build(array $request): PostEntity 'content' => $request['content'], 'mediaPath' => $request['media_path'] ?? null, 'visibility' => new PostVisibility( - PostVisibilityEnum::from($request['visibility'] ?? PostVisibilityEnum::PUBLIC) + PostVisibilityEnum::from((int)($request['visibility'] ?? PostVisibilityEnum::PUBLIC)) ), ]); } diff --git a/src/app/Post/Tests/Post_CreateTest.php b/src/app/Post/Tests/Post_CreateTest.php index 1dc367c..05d12c8 100644 --- a/src/app/Post/Tests/Post_CreateTest.php +++ b/src/app/Post/Tests/Post_CreateTest.php @@ -31,11 +31,7 @@ protected function refresh() } } - /** - * @test - * @testdox Post creation test successfully - */ - public function test_feature_test(): void + public function test_create_post(): void { $request = [ 'first_name' => 'Cristiano',