public void WhenCompletingRegistration_ThenUserUpdated() { var testUser = new User { UserId = 1, DisplayName = "DisplayName", PostalCode = "12345", TwoLetterCountryCode = "US" }; userServicesMock .Setup(r => r.GetUserByClaimedIdentifier(It.IsAny<string>())) .Returns(testUser); var controller = new ProfileController( userServicesMock.Object, countryServicesMock.Object, formsAuthenticationMock.Object); controller.SetFakeControllerContext(); controller.SetUserIdentity(new MileageStatsIdentity("TestName", "TestDisplayName", 1)); ActionResult response = controller.CompleteRegistration(testUser); userServicesMock .Verify(x => x.UpdateUser(testUser), Times.Once()); formsAuthenticationMock .Verify(x => x.SetAuthCookie(It.IsAny<HttpContextBase>(), It.IsAny<FormsAuthenticationTicket>()), Times.Once()); var result = (RedirectToRouteResult) response; Assert.Equal("Dashboard", result.RouteName); }
public void WhenCompletingRegistrationWithDifferentUser_ThenThrows() { var user = new User {UserId = 2}; var actualUser = new User {UserId = 1}; userServicesMock.Setup(r => r.GetUserByClaimedIdentifier(It.IsAny<string>())).Returns(actualUser); var controller = new ProfileController( userServicesMock.Object, countryServicesMock.Object, formsAuthenticationMock.Object); controller.SetFakeControllerContext(); controller.SetUserIdentity(new MileageStatsIdentity("TestName", "TestDisplayName", 1)); Assert.Throws<SecurityException>(() => { controller.CompleteRegistration(user); }); }
public void WhenCompletingRegistrationWithInvalidUser_ThenViewReturned() { var user = new User {UserId = 1, DisplayName = new string('X', 200)}; userServicesMock .Setup(r => r.GetUserByClaimedIdentifier(It.IsAny<string>())) .Returns(user); var controller = new ProfileController( userServicesMock.Object, countryServicesMock.Object, formsAuthenticationMock.Object); controller.SetFakeControllerContext(); controller.ModelState.AddModelError("DisplayName", "Too long"); controller.SetUserIdentity(new MileageStatsIdentity("TestName", "TestDisplayName", 1)); ActionResult actual = controller.CompleteRegistration(user); Assert.IsType<ViewResult>(actual); var viewResult = (ViewResult) actual; Assert.NotNull(viewResult.ViewBag.CountryList); var model = (User) viewResult.Model; Assert.NotNull(model); Assert.Same(user, model); }