public void CreateGet_ShouldReturnTeamSeasonCreateView() { // Arrange var teamSeasonsIndexViewModel = A.Fake <ITeamSeasonsIndexViewModel>(); var teamSeasonsDetailsViewModel = A.Fake <ITeamSeasonsDetailsViewModel>(); var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var sharedRepository = A.Fake <ISharedRepository>(); var testController = new TeamSeasonsAdminController(teamSeasonsIndexViewModel, teamSeasonsDetailsViewModel, teamSeasonRepository, sharedRepository); // Act var result = testController.Create(); // Assert result.ShouldBeOfType <ViewResult>(); }
public async Task CreatePost_WhenModelStateIsValid_ShouldAddTeamSeasonToDataStoreAndRedirectToIndexView() { // Arrange var teamSeasonsIndexViewModel = A.Fake <ITeamSeasonsIndexViewModel>(); var teamSeasonsDetailsViewModel = A.Fake <ITeamSeasonsDetailsViewModel>(); var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var sharedRepository = A.Fake <ISharedRepository>(); var testController = new TeamSeasonsAdminController(teamSeasonsIndexViewModel, teamSeasonsDetailsViewModel, teamSeasonRepository, sharedRepository); var teamSeason = new TeamSeason(); // Act var result = await testController.Create(teamSeason); // Assert A.CallTo(() => teamSeasonRepository.AddAsync(teamSeason)).MustHaveHappenedOnceExactly(); A.CallTo(() => sharedRepository.SaveChangesAsync()).MustHaveHappenedOnceExactly(); result.ShouldBeOfType <RedirectToActionResult>(); ((RedirectToActionResult)result).ActionName.ShouldBe <string>(nameof(testController.Index)); }
public async Task CreatePost_WhenModelStateIsNotValid_ShouldReturnTeamSeasonCreateView() { // Arrange var teamSeasonsIndexViewModel = A.Fake <ITeamSeasonsIndexViewModel>(); var teamSeasonsDetailsViewModel = A.Fake <ITeamSeasonsDetailsViewModel>(); var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var sharedRepository = A.Fake <ISharedRepository>(); var testController = new TeamSeasonsAdminController(teamSeasonsIndexViewModel, teamSeasonsDetailsViewModel, teamSeasonRepository, sharedRepository); var teamSeason = new TeamSeason(); testController.ModelState.AddModelError("TeamName", "Please enter a team name."); // Act var result = await testController.Create(teamSeason); // Assert A.CallTo(() => teamSeasonRepository.AddAsync(teamSeason)).MustNotHaveHappened(); A.CallTo(() => sharedRepository.SaveChangesAsync()).MustNotHaveHappened(); result.ShouldBeOfType <ViewResult>(); ((ViewResult)result).Model.ShouldBe(teamSeason); }