public void 検索条件に一致しない場合0件() { // Arrange var condition = new TeamSearchCondition( pageIndex: 1, displayCount: 5, teamTypes: new int[] { TeamType.Club.Id }, teamName: "taisei"); // Act var act = condition.Apply(this.teams.AsQueryable()).ToList(); // Assert Assert.Empty(act); }
public void 団体をページングして検索() { // Arrange var condition = new TeamSearchCondition( pageIndex: 1, displayCount: 5, teamTypes: new int[] { TeamType.Club.Id }, teamName: "1"); // Act var act = condition.Apply(this.teams.AsQueryable()).ToList(); // Assert Assert.Single(act); Assert.Equal(new TeamCode("S00019"), act.First().TeamCode); }
public void 団体を条件なしで検索() { // Arrange var condition = new TeamSearchCondition( pageIndex: 0, displayCount: 5, teamTypes: null, teamName: null); // Act var act = condition.Apply(this.teams.AsQueryable()).ToList(); // Assert Assert.Equal(5, act.Count); Assert.Equal(new TeamCode("S00001"), act.First().TeamCode); }
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(); }
public void 団体種別が学校の団体を検索() { // Arrange var condition = new TeamSearchCondition( pageIndex: 0, displayCount: 5, teamTypes: new int[] { TeamType.School.Id }, teamName: null); // Act var act = condition.Apply(this.teams.AsQueryable()).ToList(); // Assert Assert.Equal(5, act.Count); Assert.Equal(new TeamCode("S00002"), act.First().TeamCode); Assert.True(act.All(o => o.TeamType == TeamType.School)); }
public async Task <Pagable <Team> > SearchTeam(int pageIndex, int displayCount, int[] teamTypes, string teamName) { var condition = new TeamSearchCondition(pageIndex, displayCount, teamTypes, teamName); return(await this.teamRepository.SearchAsync(condition)); }