/// <summary> /// Registers a user. /// </summary> /// <param name="model">The model.</param> /// <returns> /// The response object. /// </returns> public async Task <OrchestratorResponseWrapper <bool> > RegisterUser(RegisterViewModel model) { var response = new OrchestratorResponseWrapper <bool>(); try { var request = assembler.NewRegisterUserRequest(model); var apiResponse = await dataAccess.RegisterUser(request); if (!apiResponse.Success || !apiResponse.RegisterSuccess) { response.AddErrors(apiResponse.Errors); } response.AddWarnings(apiResponse.Warnings); response.Model = apiResponse.RegisterSuccess; } catch (Exception ex) { var err = ErrorHelper.Create(ex, model?.EmailAddress, GetType(), "RegisterUser"); response.AddError(err); } return(response); }
public void NewRegisterUserRequest_NullParams_ThrowsArgumentNullException() { Assert.Throws <ArgumentNullException>(delegate { assembler.NewRegisterUserRequest(null); }); }
public void SetUp() { assembler = Substitute.For <IUserAssembler>(); dataAccess = Substitute.For <IUserDataAccess>(); errorHelper = Substitute.For <IErrorHelper>(); errorHelper.Create(Arg.Any <Exception>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); errorHelper.Create(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); validRegisterUserRequest = new RegisterUserRequest { DateOfBirth = DateTime.Now, EmailAddress = "TEST", FirstName = "TEST", LastName = "TEST", Password = "******", Username = "******" }; validValidateUserResponse = new ValidateUserResponse { LoginSuccess = true, RequestReference = Guid.NewGuid(), User = new UserProxy { EmailAddress = "TEST", DateOfBirth = DateTime.Now, FirstName = "TEST", Id = Guid.NewGuid(), LastName = "TEST" } }; invalidValidateUserResponse = new ValidateUserResponse { Errors = { new ResponseErrorWrapper() } }; validValidateUserRequest = new ValidateUserRequest { EmailAddress = "TEST", Password = "******", Username = "******" }; invalidValidateUserRequest = new ValidateUserRequest { EmailAddress = string.Empty, Password = string.Empty, Username = string.Empty }; validLoginViewModel = new LoginViewModel { EmailAddress = "TEST", Password = "******", ReturnUrl = "TEST" }; invalidLoginViewModel = new LoginViewModel { EmailAddress = string.Empty, Password = string.Empty, ReturnUrl = string.Empty }; invalidRegisterViewModel = new RegisterViewModel { AcceptTermsAndConditions = false, ConfirmPassword = string.Empty, DateOfBirth = DateTime.MinValue, EmailAddress = string.Empty, FirstName = string.Empty, LastName = string.Empty, Password = string.Empty }; validRegisterUserResponse = new RegisterUserResponse { RequestReference = Guid.NewGuid(), RegisterSuccess = true }; invalidRegisterUserResponse = new RegisterUserResponse { RequestReference = Guid.NewGuid(), Errors = { new ResponseErrorWrapper() }, RegisterSuccess = false }; validRegisterViewModel = new RegisterViewModel { AcceptTermsAndConditions = true, ConfirmPassword = "******", DateOfBirth = DateTime.Now, EmailAddress = "TEST", FirstName = "TEST", LastName = "TEST", Password = "******" }; invalidRegisterUserRequest = new RegisterUserRequest { DateOfBirth = DateTime.MinValue, EmailAddress = string.Empty, FirstName = string.Empty, LastName = string.Empty, Password = string.Empty, Username = string.Empty }; assembler.NewRegisterUserRequest(invalidRegisterViewModel).Returns(invalidRegisterUserRequest); assembler.NewRegisterUserRequest(validRegisterViewModel).Returns(validRegisterUserRequest); assembler.NewRegisterUserRequest(null).Throws(new Exception("TEST EXCEPTION")); assembler.NewValidateUserRequest(invalidLoginViewModel).Returns(invalidValidateUserRequest); assembler.NewValidateUserRequest(validLoginViewModel).Returns(validValidateUserRequest); assembler.NewValidateUserRequest(null).Throws(new Exception("TEST EXCEPTION")); assembler.NewClaimsIdentity(validValidateUserResponse).Returns(new ClaimsIdentity()); dataAccess.RegisterUser(invalidRegisterUserRequest).Returns(invalidRegisterUserResponse); dataAccess.RegisterUser(validRegisterUserRequest).Returns(validRegisterUserResponse); dataAccess.ValidateUser(invalidValidateUserRequest).Returns(invalidValidateUserResponse); dataAccess.ValidateUser(validValidateUserRequest).Returns(validValidateUserResponse); orchestrator = new UserOrchestrator(assembler, dataAccess, errorHelper); }