public void CanGetToRegister() { // arrange Mock<IAccountServiceLayer> mockService = new Mock<IAccountServiceLayer>(); Mock<IWebSecurityWrapper> mockSecurity = new Mock<IWebSecurityWrapper>(); Mock<IEmailSender> mockEmail = new Mock<IEmailSender>(); AccountController controller = new AccountController(mockService.Object, mockSecurity.Object, mockEmail.Object); // act var result = controller.Register(); // assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult)); Assert.AreEqual(((ViewResult)result).ViewName, "Register"); Assert.IsInstanceOfType(((ViewResult)result).Model, typeof(RegisterModel)); }
public void CanRegisterAsNewUser() { // arrange Mock<IAccountServiceLayer> mockService = new Mock<IAccountServiceLayer>(); Mock<IWebSecurityWrapper> mockSecurity = new Mock<IWebSecurityWrapper>(); Mock<IEmailSender> mockEmail = new Mock<IEmailSender>(); //mockService.Setup(m => m.GetBusinessTypes()).Returns(new List<BusinessType> { new BusinessType { Id = 1, Name = "GC" }, new BusinessType { Id = 2, Name = "Vendor" } }); mockSecurity.Setup(m => m.CreateUserAndAccount("*****@*****.**", "password", new { BusinessTypeId = 1, FirstName = "john", LastName = "smith", CompanyName = "asdf", PostalCode = "98074", Phone = "1231231234", OperatingDistance = 50 }, true)).Returns("abc123"); AccountController controller = new AccountController(mockService.Object, mockSecurity.Object, mockEmail.Object); // act var result = controller.Register(new RegisterModel { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******", BusinessType = BusinessType.GeneralContractor, FirstName = "john", LastName = "smith", CompanyName = "asdf", PostalCode = "98074", Phone = "1231231234", OperatingDistance = 50 }); ; // assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); Assert.AreEqual("RegisterStepTwo", ((RedirectToRouteResult)result).RouteValues["action"]); Assert.AreEqual("Account", ((RedirectToRouteResult)result).RouteValues["controller"]); }