Exemplo n.º 1
0
        public void GolfClubMembershipApplicationService_RequestClubMembership_ClubNotCreated_ErrorThrown()
        {
            Mock <IAggregateRepository <GolfClubAggregate> > golfClubRepository = new Mock <IAggregateRepository <GolfClubAggregate> >();

            golfClubRepository.Setup(g => g.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None))
            .ReturnsAsync(GolfClubTestData.GetEmptyGolfClubAggregate());

            Mock <IAggregateRepository <PlayerAggregate> > playerRepository = new Mock <IAggregateRepository <PlayerAggregate> >();

            playerRepository.Setup(p => p.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None))
            .ReturnsAsync(PlayerTestData.GetRegisteredPlayerAggregate());

            Mock <IAggregateRepository <GolfClubMembershipAggregate> > golfClubMembershipRepository = new Mock <IAggregateRepository <GolfClubMembershipAggregate> >();

            golfClubMembershipRepository.Setup(g => g.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None)).ReturnsAsync(GolfClubMembershipTestData.GetCreatedGolfClubMembershipAggregate());

            GolfClubMembershipApplicationService service = new GolfClubMembershipApplicationService(golfClubRepository.Object,
                                                                                                    playerRepository.Object,
                                                                                                    golfClubMembershipRepository.Object);

            Should.Throw <InvalidDataException>(async() => await service.RequestClubMembership(GolfClubMembershipTestData.PlayerId, GolfClubMembershipTestData.AggregateId,
                                                                                               CancellationToken.None));

            golfClubMembershipRepository.Verify(
                x => x.SaveChanges(It.IsAny <GolfClubMembershipAggregate>(), CancellationToken.None), Times.Never);
        }
Exemplo n.º 2
0
        public async Task GolfClubMembershipApplicationService_RequestClubMembership_MembershipRequestProcessed()
        {
            Mock <IAggregateRepository <GolfClubAggregate> > golfClubRepository = new Mock <IAggregateRepository <GolfClubAggregate> >();

            golfClubRepository.Setup(g => g.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None))
            .ReturnsAsync(GolfClubTestData.GetCreatedGolfClubAggregate());

            Mock <IAggregateRepository <PlayerAggregate> > playerRepository = new Mock <IAggregateRepository <PlayerAggregate> >();

            playerRepository.Setup(p => p.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None))
            .ReturnsAsync(PlayerTestData.GetRegisteredPlayerAggregate());

            Mock <IAggregateRepository <GolfClubMembershipAggregate> > golfClubMembershipRepository = new Mock <IAggregateRepository <GolfClubMembershipAggregate> >();

            golfClubMembershipRepository.Setup(g => g.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None)).ReturnsAsync(GolfClubMembershipTestData.GetCreatedGolfClubMembershipAggregate());

            GolfClubMembershipApplicationService service = new GolfClubMembershipApplicationService(golfClubRepository.Object,
                                                                                                    playerRepository.Object,
                                                                                                    golfClubMembershipRepository.Object);

            await service.RequestClubMembership(GolfClubMembershipTestData.PlayerId, GolfClubMembershipTestData.AggregateId,
                                                CancellationToken.None);

            golfClubMembershipRepository.Verify(
                x => x.SaveChanges(It.IsAny <GolfClubMembershipAggregate>(), CancellationToken.None), Times.Once);
        }
        public void TournamentApplicationService_SignUpPlayerForTournament_NotMemberOfClub_ErrorThrown()
        {
            Mock <IAggregateRepository <TournamentAggregate> > tournamentRepository = new Mock <IAggregateRepository <TournamentAggregate> >();

            tournamentRepository.Setup(t => t.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None)).ReturnsAsync(TournamentTestData.GetCreatedTournamentAggregate);
            Mock <IAggregateRepository <PlayerAggregate> > playerRepository = new Mock <IAggregateRepository <PlayerAggregate> >();

            playerRepository.Setup(p => p.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None)).ReturnsAsync(PlayerTestData.GetRegisteredPlayerAggregate());
            Mock <IAggregateRepository <GolfClubMembershipAggregate> > golfClubMembershipRepository = new Mock <IAggregateRepository <GolfClubMembershipAggregate> >();

            golfClubMembershipRepository.Setup(g => g.GetLatestVersion(It.IsAny <Guid>(), CancellationToken.None))
            .ReturnsAsync(GolfClubMembershipTestData.GetCreatedGolfClubMembershipAggregate);

            TournamentApplicationService tournamentApplicationService = new TournamentApplicationService(tournamentRepository.Object,
                                                                                                         playerRepository.Object,
                                                                                                         golfClubMembershipRepository.Object);

            Should.Throw <InvalidOperationException>(async() =>
            {
                await tournamentApplicationService.SignUpPlayerForTournament(TournamentTestData.AggregateId,
                                                                             TournamentTestData.PlayerId,
                                                                             CancellationToken.None);
            });
        }