// Edit Test InvalidModel | public void Edit_Tournament_ReturnTournamentID() { int tournamentID = 2; var tournaments = new Tournaments { TournamentId = 2, TournamentName = "Tournament 2020", StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(5), TournamentLocation = "Belgrade" }; _mockRepo.Setup(e => e.FindElementById(tournamentID)).Returns(tournaments); var expectedModel = new Tournaments() { TournamentId = tournaments.TournamentId, TournamentName = tournaments.TournamentName, StartDate = tournaments.StartDate, EndDate = tournaments.EndDate, TournamentLocation = tournaments.TournamentLocation }; var actual = _controller.Edit(tournamentID); var actualModel = actual.Model as Tournaments; Assert.Equal(actualModel.TournamentId, tournaments.TournamentId); Assert.Equal(actualModel.TournamentName, tournaments.TournamentName); Assert.Equal(actualModel.StartDate.ToString(), tournaments.StartDate.ToString()); Assert.Equal(actualModel.EndDate.ToString(), tournaments.EndDate.ToString()); Assert.Equal(actualModel.TournamentLocation, tournaments.TournamentLocation); }
public async void 大会を更新する() { // Arrange var viewModel = new EditViewModel() { TournamentId = 000001, TournamentName = "ジュニア選手権", SelectedTournamentType = TournamentType.WithDraw.Id.ToString(), SelectedRegistrationYear = "2020/4/1", SelectedTypeOfYear = TypeOfYear.Odd.Id.ToString(), SelectedAggregationMonth = "2020/6/1", SelectedTennisEvents = new List <string>() { "1_1_1", "1_1_2" }, HoldingStartDate = new DateTime(2020, 6, 10), HoldingEndDate = new DateTime(2020, 6, 20), SelectedHoldingDates = new List <string>() { "2020/6/12", "2020/6/13" }, Venue = "日本テニスコート", EntryFee = 100, SelectedMethodOfPayments = MethodOfPayment.PrePayment.Id.ToString(), ApplicationStartDate = new DateTime(2020, 5, 1), ApplicationEndDate = new DateTime(2020, 5, 31), Outline = "大会名:ジュニア選手 権場所:日本テニスコート", TournamentEntryReceptionMailSubject = "メール件名", TournamentEntryReceptionMailBody = "メール本文", }; var mockUseCase = new Mock <ITournamentUseCase>(); var controller = new TournamentsController(mockUseCase.Object); // Act var result = await controller.Edit(viewModel); // Assert mockUseCase.Verify(m => m.UpdateTournament(It.IsAny <UpdateTournamentDto>()), Times.Once()); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal(nameof(controller.Details), redirectToActionResult.ActionName); }
public async void 大会編集時無効な値の場合再表示() { // Arrange var viewModel = new EditViewModel() { TournamentId = 000001, TournamentName = "ジュニア選手権", SelectedTournamentType = TournamentType.WithDraw.Id.ToString(), SelectedRegistrationYear = "2020/4/1", SelectedTypeOfYear = TypeOfYear.Odd.Id.ToString(), SelectedAggregationMonth = "2020/6/1", SelectedTennisEvents = new List <string>() { "1_1_1", "1_1_2" }, HoldingStartDate = new DateTime(2020, 6, 10), HoldingEndDate = new DateTime(2020, 6, 20), SelectedHoldingDates = new List <string>() { "2020/6/12", "2020/6/13" }, Venue = "日本テニスコート", EntryFee = 100, SelectedMethodOfPayments = MethodOfPayment.PrePayment.Id.ToString(), ApplicationStartDate = new DateTime(2020, 5, 1), ApplicationEndDate = new DateTime(2020, 5, 31), Outline = "大会名:ジュニア選手 権場所:日本テニスコート", TournamentEntryReceptionMailSubject = "メール件名", TournamentEntryReceptionMailBody = "メール 本文", }; var mockUseCase = new Mock <ITournamentUseCase>(); var controller = new TournamentsController(mockUseCase.Object); controller.ModelState.AddModelError("error", "some error"); // Act var result = await controller.Edit(viewModel); // Arrange var viewResult = Assert.IsType <ViewResult>(result); Assert.Null(viewResult.ViewName); var model = Assert.IsType <EditViewModel>(viewResult.ViewData.Model); Assert.Equal(viewModel.TournamentId, model.TournamentId); Assert.Equal(viewModel.TournamentName, model.TournamentName); Assert.Equal(viewModel.SelectedTournamentType, model.SelectedTournamentType); Assert.Equal(viewModel.SelectedRegistrationYear, model.SelectedRegistrationYear); Assert.Equal(viewModel.SelectedTypeOfYear, model.SelectedTypeOfYear); Assert.Equal(viewModel.SelectedAggregationMonth, model.SelectedAggregationMonth); Assert.Equal(viewModel.SelectedTennisEvents, model.SelectedTennisEvents); Assert.Equal(viewModel.HoldingStartDate, model.HoldingStartDate); Assert.Equal(viewModel.HoldingEndDate, model.HoldingEndDate); Assert.Equal(viewModel.SelectedHoldingDates, model.SelectedHoldingDates); Assert.Equal(viewModel.Venue, model.Venue); Assert.Equal(viewModel.EntryFee, model.EntryFee); Assert.Equal(viewModel.SelectedMethodOfPayments, model.SelectedMethodOfPayments); Assert.Equal(viewModel.ApplicationStartDate, model.ApplicationStartDate); Assert.Equal(viewModel.ApplicationEndDate, model.ApplicationEndDate); Assert.Equal(viewModel.Outline, model.Outline); Assert.Equal(viewModel.TournamentEntryReceptionMailSubject, model.TournamentEntryReceptionMailSubject); Assert.Equal(viewModel.TournamentEntryReceptionMailBody, model.TournamentEntryReceptionMailBody); }
public async void 大会の編集画面を表示() { // Arrange var id = 000001; var holdingPeriodStartDate = new DateTime(2020, 6, 10); var holdingPeriodEndDate = new DateTime(2020, 6, 20); 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(holdingPeriodStartDate, holdingPeriodEndDate), 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("大会名:ジュニア選手 権場所:日本テニスコート"), "メール件名", "メール本文", 1); var mailTemplate = new Dictionary <string, string>() { { "PrePayment", "メール内容" }, { "PostPayment", "メール内容" }, { "NotRecieve", "メール内容" }, { "Other", "メール内容" } }; var holdingDates = new List <JsonHoldingDate>() { new JsonHoldingDate(new DateTime(2020, 03, 30), true) }; var mockUseCase = new Mock <ITournamentUseCase>(); mockUseCase.Setup(m => m.GetTournament(id)) .ReturnsAsync(tournament) .Verifiable(); mockUseCase.Setup(m => m.CreateHoldingDates(holdingPeriodStartDate, holdingPeriodEndDate)) .Returns(holdingDates) .Verifiable(); mockUseCase.Setup(m => m.GetTournamentEntryReceptionMailBodies()) .Returns(mailTemplate) .Verifiable(); var controller = new TournamentsController(mockUseCase.Object); // Act var result = await controller.Edit(id); // Assert mockUseCase.Verify(); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <EditViewModel>(viewResult.ViewData.Model); Assert.Equal(mailTemplate, model.TournamentEntryReceptionMailBodies); }