function it_transform_project_to_plain_dto(Project $project, ProjectId $projectId, ProjectName $name, Slug $slug, OrganizationId $organizationId, \DateTimeImmutable $createdOn, \DateTimeImmutable $updatedOn) { $project->id()->shouldBeCalled()->willReturn($projectId); $projectId->id()->shouldBeCalled()->willReturn('project-id'); $project->name()->shouldBeCalled()->willReturn($name); $name->name()->shouldBeCalled()->willReturn('The project name'); $project->slug()->shouldBeCalled()->willReturn($slug); $slug->slug()->shouldBeCalled()->willReturn('the-project-name'); $project->createdOn()->shouldBeCalled()->willReturn($createdOn); $project->updatedOn()->shouldBeCalled()->willReturn($updatedOn); $project->organizationId()->shouldBeCalled()->willReturn($organizationId); $organizationId->id()->shouldBeCalled()->willReturn('organization-id'); $createdOn->format('Y-m-d')->shouldBeCalled()->willReturn('2016-10-20'); $updatedOn->format('Y-m-d')->shouldBeCalled()->willReturn('2016-10-22'); $this->write($project); $this->read()->shouldReturn(['id' => 'project-id', 'name' => 'The project name', 'slug' => 'the-project-name', 'created_on' => '2016-10-20', 'updated_on' => '2016-10-22', 'organization_id' => 'organization-id']); }