public void AddAccount_GivenAPersonThatExistsInCCM_ShouldBeAbleToCreateACreditCardAccountInCCM() { // ARRANGE var primaryApplicant = GetApplicant(); var credentials = new Credentials() { BaseUrl = "https://some.bank.or.cu/api", Username = "******", Password = "******", Facility = "validFacility" }; var credentialsHeader = GetCredentialsHeader(credentials); var messageXml = _account.Message?.SerializeToXmlString(); messageXml = HostValueTranslator.UpdateRequestWithHostValues( messageXml, _app.HostValues.Where(hv => hv.Field1.StartsWith("AddAccount.")).ToList(), _account.Message?.HostValueParentNode ); messageXml = HostValueTranslator.UpdateRequestWithHostValues( messageXml, primaryApplicant.HostValues.Where(hv => hv.Field1.StartsWith("AddAccount.")).ToList(), _account.Message?.HostValueParentNode ); var processMessageNodeRequest = new ProcessMessageNodeRequest() { CredentialsHeader = credentialsHeader, request = GetXmlNode(messageXml) }; var stubServiceRepo = Substitute.For <ISoapRepository>(); stubServiceRepo.GetProcessMessageNodeRequest(credentialsHeader, messageXml).Returns(processMessageNodeRequest); _messageResponse = GetMessageResponseSuccess(); stubServiceRepo.AddAccount(_account, _app, primaryApplicant).Returns(_messageResponse); var stubLmsRepo = Substitute.For <ILmsRepository>(); stubLmsRepo.GetUserFullNameById(_app.FinalDecisionUserId.GetValueOrDefault()).Returns("Steve Higgs"); var mockBehavior = new AddAccountBehavior(_app, _userToken, stubServiceRepo, stubLmsRepo); mockBehavior.Account = _account; // ACT var result = mockBehavior.AddAccount(primaryApplicant); var accountNumber = mockBehavior.MessageResponse.AccountNumber; // ASSERT Assert.AreEqual(0, result.Messages.Count(m => m.Type == MessageType.Error)); Assert.IsTrue(result.Result); Assert.AreEqual("Success", mockBehavior.MessageResponse.ResponseCode); Assert.AreEqual("9000000000007", accountNumber); }
public override BaseResult AddAccount(Applicant primaryApplicant, out string accountNumber) { var result = AddAccountBehavior.AddAccount(primaryApplicant); accountNumber = AddAccountBehavior.MessageResponse?.AccountNumber; return(result); }
/// <summary> /// Creates a new CCM credit card account. /// </summary> /// <param name="primaryApplicant"></param> /// <param name="accountNumber"></param> /// <returns></returns> public virtual BaseResult AddAccount(Applicant primaryApplicant, out string accountNumber) { accountNumber = string.Empty; return(AddAccountBehavior.AddAccount(primaryApplicant)); }