public void Register_Post_Success_Redirected_To_Dashboard() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); var model = new RegisterUserModel() { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******" }; auth.Setup(a => a.ValidateCaptcha()).Returns(true); auth.Setup(a => a.RegisterNewUser("*****@*****.**", "password")).Returns(true); auth.Setup(a => a.Authenticate("*****@*****.**", "password")).Returns(true); //act var result = controller.Register(model) as RedirectResult; //assert (result) result.Url.Should().Be("~/user/[email protected]"); }
public void Register_Post_Fail_Already_Registered() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); var model = new RegisterUserModel() { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******" }; auth.Setup(a => a.ValidateCaptcha()).Returns(true); auth.Setup(a => a.RegisterNewUser("*****@*****.**", "password")).Returns(false); //act controller.Register(model); var result = controller.Register(model) as ViewResult; //assert Assert.That(model, Is.EqualTo(result.ViewData.Model)); Assert.That(controller.ModelState[""].Errors[0].ErrorMessage, Is.EqualTo("Sorry, user with such email already exist. Please register with different email.")); }
public void Smoke() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); //act/assert Assert.That(controller, Is.Not.Null); }
public void Index_Get_ReturnsView() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); //act var result = controller.Index(); //post Assert.That(result, Is.Not.Null); }
public void RegisterMobile_Post_RedirectedToSuccess() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); // act var model = new RegisterUserModel() { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******" }; auth.Setup(a => a.ValidateCaptcha()).Returns(true); auth.Setup(a => a.RegisterNewUser("*****@*****.**", "password")).Returns(true); auth.Setup(a => a.Authenticate("*****@*****.**", "password")).Returns(true); var result = controller.RegisterMobile(model) as RedirectResult; // assert Assert.That(result.Url, Is.EqualTo("~/registration/success")); }
public void Mobile_Get_ReturnsView() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); // act var view = controller.Mobile(); // assert Assert.That(view, Is.Not.Null); }
public void Register_NewUserRegistered_EmailSent() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); var user = new RegisterUserModel { Email = "*****@*****.**", Password = "******" }; auth.Setup(a => a.ValidateCaptcha()).Returns(true); auth.Setup(a => a.RegisterNewUser("*****@*****.**", "111111")).Returns(true); //act var result = controller.Register(user) as RedirectResult; //post notification.Verify(n => n.NotifyUserOnRegistration("*****@*****.**", "111111")); }
public void Register_Post_Fail_Unknown_Reason() { // arrange var auth = new Mock<IAuthenticationService>(); var notification = new Mock<INotificationService>(); var redirect = new RedirectService(); var controller = new RegistrationController(auth.Object, notification.Object, redirect); var model = new RegisterUserModel() { Email = "*****@*****.**", Password = "******", ConfirmPassword = "******" }; auth.Setup(a => a.ValidateCaptcha()).Returns(true); auth.Setup(a => a.RegisterNewUser("*****@*****.**", "password")).Throws(new Exception()); //act / post var result = controller.Register(model) as ViewResult; }
private static RegistrationController GetMockAccountController(object viewModel) { var client = A.Fake<IIwsClient>(); A.CallTo(() => client.SendAsync(A<GetCountries>._)).Returns(new List<CountryData> { new CountryData { Id = new Guid("4345FB05-F7DF-4E16-939C-C09FCA5C7D7B"), Name = "United Kingdom" }, new CountryData { Id = new Guid("29B0D09E-BA77-49FB-AF95-4171408C07C9"), Name = "Germany" } }); var oauth = A.Fake<IOAuthClient>(); var registrationController = new RegistrationController(() => oauth, client, null); // Mimic the behaviour of the model binder which is responsible for Validating the Model var validationContext = new ValidationContext(viewModel, null, null); var validationResults = new List<ValidationResult>(); Validator.TryValidateObject(viewModel, validationContext, validationResults, true); foreach (var validationResult in validationResults) { registrationController.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage); } return registrationController; }