public function __invoke(FilterOrganizationsQuery $query)
 {
     $organizations = $this->repository->query($this->specificationFactory->buildFilterableSpecification($query->name(), UserId::generate($query->userId()), $query->offset(), $query->limit()));
     return array_map(function (Organization $organization) {
         $this->dataTransformer->write($organization);
         return $this->dataTransformer->read();
     }, $organizations);
 }
 function it_serializes_filtered_organizations(FilterOrganizationsQuery $query, OrganizationRepository $repository, Organization $organization, OrganizationDataTransformer $dataTransformer)
 {
     $query->userId()->shouldBeCalled()->willReturn('user-id');
     $query->name()->shouldBeCalled()->willReturn('organization name');
     $query->offset()->shouldBeCalled()->willReturn(0);
     $query->limit()->shouldBeCalled()->willReturn(-1);
     $repository->query(Argument::any())->shouldBeCalled()->willReturn([$organization]);
     $dataTransformer->write($organization)->shouldBeCalled();
     $dataTransformer->read()->shouldBeCalled();
     $this->__invoke($query)->shouldBeArray();
 }