function it_adds_organization_member_to_organization(AddOrganizationMemberToOrganizationCommand $command, OrganizationRepository $repository, Organization $organization) { $organizationId = OrganizationId::generate('organization-id'); $command->organizationId()->shouldBeCalled()->willReturn('organization-id'); $repository->organizationOfId($organizationId)->shouldBeCalled()->willReturn($organization); $command->adderId()->shouldBeCalled()->willReturn('adder-id'); $organization->isOwner(UserId::generate('adder-id'))->shouldBeCalled()->willReturn(true); $command->userId()->shouldBeCalled()->willReturn('user-id'); $organization->addOrganizationMember(UserId::generate('user-id'))->shouldBeCalled(); $repository->persist(Argument::type(Organization::class))->shouldBeCalled(); $this->__invoke($command); }
function it_edits_an_organization_without_slug(EditOrganizationCommand $command, OrganizationRepository $repository, Organization $organization) { $command->id()->shouldBeCalled()->willReturn('organization-id'); $repository->organizationOfId(OrganizationId::generate('organization-id'))->shouldBeCalled()->willReturn($organization); $command->name()->shouldBeCalled()->willReturn('Organization name'); $command->slug()->shouldBeCalled()->willReturn(null); $command->userId()->shouldBeCalled()->willReturn('editor-id'); $organization->isOwner(UserId::generate('editor-id'))->shouldBeCalled()->willReturn(true); $organization->edit(new OrganizationName('Organization name'), new Slug('Organization name'))->shouldBeCalled(); $repository->persist(Argument::type(Organization::class))->shouldBeCalled(); $this->__invoke($command); }
function it_creates_an_organization_without_slug(CreateOrganizationCommand $command, OrganizationRepository $repository, UserRepository $userRepository, User $user) { $userId = UserId::generate('user-id'); $command->id()->shouldBeCalled()->willReturn('organization-id'); $repository->organizationOfId(Argument::type(OrganizationId::class))->shouldBeCalled()->willReturn(null); $command->creatorId()->shouldBeCalled()->willReturn('user-id'); $userRepository->userOfId($userId)->shouldBeCalled()->willReturn($user); $user->id()->shouldBeCalled()->willReturn($userId); $repository->organizationOfId(Argument::type(OrganizationId::class))->shouldBeCalled()->willReturn(null); $command->creatorId()->shouldBeCalled()->willReturn('user-id'); $command->name()->shouldBeCalled()->willReturn('Organization name'); $command->slug()->shouldBeCalled()->willReturn(null); $repository->persist(Argument::type(Organization::class))->shouldBeCalled(); $this->__invoke($command); }