Exemplo n.º 1
0
        public async void 大会開催期間申込期間取得時大会Idが0だった場合空データを返す()
        {
            // Arrange
            var tournamentId   = 0;
            var mockRepository = new Mock <ITournamentRepository>();
            var useCase        = new TournamentEntryUseCase(mockRepository.Object);

            // Act
            var act = await useCase.GetSelectedTournament(tournamentId);

            // Assert
            mockRepository.Verify(r => r.FindById(It.IsAny <int>()), Times.Never);
            Assert.Null(act.TennisEvents);
            Assert.Null(act.ApplicationPeriod);
            Assert.Null(act.HoldingPeriod);
        }
Exemplo n.º 2
0
        public async void 大会開催期間と申込期間と種目一覧を取得する()
        {
            // Arrange
            var tournamentId = 1;
            var tournament   = new Tournament(
                new TournamentName("ジュニア選手権"),
                TournamentType.WithDraw,
                new RegistrationYear(new DateTime(2020, 4, 1)),
                TypeOfYear.Odd,
                new AggregationMonth(new DateTime(2020, 6, 1)),
                new List <TennisEvent>()
            {
                TennisEvent.FromId("1_1_1"), TennisEvent.FromId("1_1_2")
            },
                new HoldingPeriod(new DateTime(2020, 6, 10), new DateTime(2020, 6, 20)),
                new List <HoldingDate>()
            {
                new HoldingDate(new DateTime(2020, 6, 12)), new HoldingDate(new DateTime(2020, 6, 13))
            },
                new Venue("日本テニスコート"),
                new EntryFee(100),
                MethodOfPayment.PrePayment,
                new ApplicationPeriod(new DateTime(2020, 5, 1), new DateTime(2020, 5, 31)),
                new Outline("大会名:ジュニア選手権場所:日本テニスコート"),
                "メール件名",
                "メール本文",
                tournamentId
                );

            var mockRepository = new Mock <ITournamentRepository>();

            mockRepository.Setup(r => r.FindById(tournamentId))
            .ReturnsAsync(tournament)
            .Verifiable();
            var useCase = new TournamentEntryUseCase(mockRepository.Object);

            // Act
            var act = await useCase.GetSelectedTournament(tournamentId);

            // Assert
            mockRepository.Verify();
            Assert.Equal("17/18歳以下 男子 シングルス", act.TennisEvents[0].Name);
            Assert.Equal("17/18歳以下 男子 ダブルス", act.TennisEvents[1].Name);
            Assert.Equal("2020年6月10日 ~ 2020年6月20日", act.HoldingPeriod);
            Assert.Equal("2020年5月1日 ~ 2020年5月31日", act.ApplicationPeriod);
        }