示例#1
0
        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);
        }
示例#2
0
        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);
        }