Esempio n. 1
0
        public async Task 団体が存在しない場合例外()
        {
            // Arrange
            var teamRepository = new Mock <ITeamRepository>();

            teamRepository.Setup(r => r.FindByCodeAsync(new TeamCode("S00001")))
            .ReturnsAsync(default(Team))
            .Verifiable();
            var confirmationMailAddressRepository = new Mock <IAuthorizationLinkRepository>();
            var requestTeamRepository             = new Mock <IRequestTeamRepository>();
            var reservationNumberRepository       = new Mock <IReservationNumberRepository>();
            var seasonRepository = new Mock <ISeasonRepository>();
            var mailSender       = new Mock <IMailSender>();
            var usecase          = new TeamUseCase(
                teamRepository.Object,
                confirmationMailAddressRepository.Object,
                requestTeamRepository.Object,
                reservationNumberRepository.Object,
                seasonRepository.Object, mailSender.Object);

            // Act & Assert
            await Assert.ThrowsAsync <NotFoundException>(
                () => usecase.GetTeam("S00001"));

            teamRepository.Verify();
            teamRepository.VerifyNoOtherCalls();
        }
Esempio n. 2
0
        public async Task 団体種別が民間クラブで団体名に1を含む団体を検索()
        {
            // Arrange
            var teams = Enumerable.Range(1, 20)
                        .Select(o => new Team(
                                    teamCode: new TeamCode($"S000{o:00}"),
                                    teamType: o % 2 == 0 ? TeamType.School : TeamType.Club,
                                    teamName: new TeamName($"大成ネット学園{o}"),
                                    teamAbbreviatedName: new TeamAbbreviatedName("大成ネット学園"),
                                    representativeName: "山村修治",
                                    representativeEmailAddress: "*****@*****.**",
                                    telephoneNumber: "03-5408-8576",
                                    address: "大阪市西区京町堀2-13-1-211",
                                    coachName: "横溝学",
                                    coachEmailAddress: "*****@*****.**",
                                    teamJpin: "OS12345"))
                        .ToList();
            var condition = new TeamSearchCondition(
                pageIndex: 1,
                displayCount: 5,
                teamTypes: new int[] { TeamType.Club.Id },
                teamName: "1");
            var teamRepository = new Mock <ITeamRepository>();

            teamRepository.Setup(r => r.SearchAsync(It.Is <TeamSearchCondition>(o => o.PageIndex == 1 && o.DisplayCount == 5)))
            .ReturnsAsync(It.IsAny <Pagable <Team> >())
            .Verifiable();
            var confirmationMailAddressRepository = new Mock <IAuthorizationLinkRepository>();
            var requestTeamRepository             = new Mock <IRequestTeamRepository>();
            var reservationNumberRepository       = new Mock <IReservationNumberRepository>();
            var seasonRepository = new Mock <ISeasonRepository>();
            var mailSender       = new Mock <IMailSender>();
            var usecase          = new TeamUseCase(
                teamRepository.Object,
                confirmationMailAddressRepository.Object,
                requestTeamRepository.Object,
                reservationNumberRepository.Object,
                seasonRepository.Object, mailSender.Object);

            // Act
            var act = await usecase.SearchTeam(pageIndex : 1, displayCount : 5, teamTypes : new int[] { TeamType.Club.Id }, teamName : "1");

            // Assert
            teamRepository.Verify();
            teamRepository.VerifyNoOtherCalls();
        }
Esempio n. 3
0
        public async Task 管理者が団体のJPIN番号を更新する()
        {
            //Arrange
            var teamCode = "S00001";
            var teamJpin = "OS9999";
            var team     = new Team(
                teamCode: new TeamCode(teamCode),
                teamType: TeamType.School,
                teamName: new TeamName("大成ネット学園"),
                teamAbbreviatedName: new TeamAbbreviatedName("大成ネット学園"),
                representativeName: "山村修治",
                representativeEmailAddress: "*****@*****.**",
                telephoneNumber: "03-5408-8576",
                address: "大阪市西区京町堀2-13-1-211",
                coachName: "横溝学",
                coachEmailAddress: "*****@*****.**",
                teamJpin: "");
            var teamRepository = new Mock <ITeamRepository>();

            teamRepository.Setup(o => o.FindByCodeAsync(new TeamCode(teamCode)))
            .ReturnsAsync(team)
            .Verifiable();
            teamRepository.Setup(o => o.Update(It.Is <Team>(o => o.TeamCode == new TeamCode(teamCode) && o.TeamJpin == teamJpin)))
            .Verifiable();
            var confirmationMailAddressRepository = new Mock <IAuthorizationLinkRepository>();
            var requestTeamRepository             = new Mock <IRequestTeamRepository>();
            var reservationNumberRepository       = new Mock <IReservationNumberRepository>();
            var seasonRepository = new Mock <ISeasonRepository>();
            var mailSender       = new Mock <IMailSender>();
            var usecase          = new TeamUseCase(
                teamRepository.Object,
                confirmationMailAddressRepository.Object,
                requestTeamRepository.Object,
                reservationNumberRepository.Object,
                seasonRepository.Object, mailSender.Object);

            // Act
            await usecase.UpdateTeamJpin(teamCode, teamJpin);

            // Assert
            teamRepository.Verify();
            teamRepository.VerifyNoOtherCalls();
            Assert.Equal(teamJpin, team.TeamJpin);
        }
Esempio n. 4
0
        public async Task 団体を取得()
        {
            // Arrange
            var team = new Team(
                teamCode: new TeamCode("S00001"),
                teamType: TeamType.School,
                teamName: new TeamName("大成ネット学園"),
                teamAbbreviatedName: new TeamAbbreviatedName("大成ネット学園"),
                representativeName: "山村修治",
                representativeEmailAddress: "*****@*****.**",
                telephoneNumber: "03-5408-8576",
                address: "大阪市西区京町堀2-13-1-211",
                coachName: "横溝学",
                coachEmailAddress: "*****@*****.**",
                teamJpin: "OS12345");
            var teamRepository = new Mock <ITeamRepository>();

            teamRepository.Setup(r => r.FindByCodeAsync(new TeamCode("S00001")))
            .ReturnsAsync(team)
            .Verifiable();
            var confirmationMailAddressRepository = new Mock <IAuthorizationLinkRepository>();
            var requestTeamRepository             = new Mock <IRequestTeamRepository>();
            var reservationNumberRepository       = new Mock <IReservationNumberRepository>();
            var seasonRepository = new Mock <ISeasonRepository>();
            var mailSender       = new Mock <IMailSender>();
            var usecase          = new TeamUseCase(
                teamRepository.Object,
                confirmationMailAddressRepository.Object,
                requestTeamRepository.Object,
                reservationNumberRepository.Object,
                seasonRepository.Object, mailSender.Object);

            // Act
            var act = await usecase.GetTeam("S00001");

            // Assert
            teamRepository.Verify();
            teamRepository.VerifyNoOtherCalls();
        }