public async void EditCupTest() { var testCup = new Tournament() { Name = "APL", Mail = "*****@*****.**", TournamentId = 1, Password = "******", MaxCountTeams = 10, EndDate = "end", StartDate = "start" }; var updatedCup = new Tournament() { Name = "UAPL", Mail = "*****@*****.**", TournamentId = 1, Password = "******", MaxCountTeams = 100, EndDate = "Uend", StartDate = "Ustart" }; var mockHighService = new Mock <IHighLevelSoccerManagerService>(); mockHighService.Setup(service => service.UpdateTournament(It.IsAny <int>(), It.IsAny <Tournament>())).Callback <int, Tournament>( (a, b) => { testCup = b; }); mockHighService.Setup(service => service.GetAllTournaments()).Returns(new List <Tournament>() { testCup }); mockHighService.Setup(service => service.GetTeam(It.IsAny <int>())).Returns <int>(a => { return(new Team() { Name = "Name" }); }); var store = new Mock <IUserStore <User> >(); var mockUserStore = new Mock <IUserStore <User> >(); var mockUserRoleStore = mockUserStore.As <IUserRoleStore <User> >(); var userManager = new Mock <UserManager <User> >(mockUserStore.Object, null, null, null, null, null, null, null, null); userManager.Setup(u => u.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync( new User() { UserName = "******", UserId = 1 }); OrganizerController controller = new OrganizerController(mockHighService.Object, userManager.Object, null); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "Test") })) } }; await controller.Edit(); var result = await controller.Edit(updatedCup, true); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <OrganaizerMainInfo>(viewResult.Model); Assert.Equal(model.Tournament.Name, updatedCup.Name); Assert.Equal(model.Tournament.MaxCountTeams, updatedCup.MaxCountTeams); Assert.Equal(model.Tournament.Mail, updatedCup.Mail); Assert.Equal(model.Tournament.EndDate, updatedCup.EndDate); Assert.Equal(model.Tournament.StartDate, updatedCup.StartDate); Assert.Equal(model.Tournament.Password, updatedCup.Password); }
public void EditCupReturnsViewResultWithCupModel() { Tournament old_cup = new Tournament(); old_cup.Name = "English premier league"; old_cup.MaxCountTeams = 18; old_cup.TournamentId = 1; old_cup.StartDate = "01.10.2017"; old_cup.EndDate = "08.08.2018"; old_cup.Password = "******"; old_cup.Mail = "*****@*****.**"; Tournament new_cup = new Tournament() { Name = "New", Mail = "*****@*****.**", StartDate = "01-01-2018", EndDate = "01-01-2019", MaxCountTeams = 40 }; // Arrange var mockHighService = new Mock <IHighLevelSoccerManagerService>(); mockHighService.Setup(service => service.GetAllTournaments()).Returns(new List <Tournament>() { old_cup }); mockHighService.Setup(service => service.UpdateTournament(It.IsAny <int>(), It.IsAny <Tournament>())) .Callback(() => { old_cup = new_cup; }); var store = new Mock <IUserStore <User> >(); var mockUserStore = new Mock <IUserStore <User> >(); var mockUserRoleStore = mockUserStore.As <IUserRoleStore <User> >(); var userManager = new Mock <UserManager <User> >(mockUserStore.Object, null, null, null, null, null, null, null, null); userManager.Setup(u => u.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync( new User() { UserName = "******", UserId = 1 }); OrganizerController controller = new OrganizerController(mockHighService.Object, userManager.Object, null); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "Test") })) } }; controller.ModelState.AddModelError("Name", "Required"); // Act RedirectToActionResult result = (RedirectToActionResult)controller.Edit(new_cup).Result; // Assert var viewResult = Assert.IsType <RedirectToActionResult>(result); }