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); }
public void GetUserFields_WhenUserFieldHostValuesAreAdded_ShouldOutputACollectionOfUserFields() { // ARRANGE List <UserField> userFieldList; var applicant = GetApplicant(); var numberOfUserFieldNameHVs = _app.HostValues.Count(hv => hv.Field1.Equals("AddAccount.Message.DataUpdate.Account.UserFields.UserField.Name")); var numberOfUserFieldValueHVs = _app.HostValues.Count(hv => hv.Field1.Equals("AddAccount.Message.DataUpdate.Account.UserFields.UserField.Value")); var numberOfActualUserFieldHV = numberOfUserFieldNameHVs + numberOfUserFieldValueHVs; var stubServiceRepo = Substitute.For <ISoapRepository>(); var stubLmsRepo = Substitute.For <ILmsRepository>(); var mockBehavior = new AddAccountBehavior(_app, _userToken, stubServiceRepo, stubLmsRepo); // ACT userFieldList = mockBehavior.GetUserFields(applicant); // ASSERT Assert.IsNotNull(userFieldList); Assert.AreEqual(numberOfUserFieldNameHVs, userFieldList.Count(u => !string.IsNullOrWhiteSpace(u.Name))); Assert.AreEqual(numberOfUserFieldValueHVs, userFieldList.Count(u => !string.IsNullOrWhiteSpace(u.Value))); }
public AddAccount GetAddAccountDto(Application app, Applicant applicant, string userToken) { var stubServiceRepo = Substitute.For <ISoapRepository>(); var stubLmsRepo = Substitute.For <ILmsRepository>(); var fakeBehavior = new AddAccountBehavior(app, userToken, stubServiceRepo, stubLmsRepo); var account = new AddAccount() { Message = new Dto.Soap.Message() { DataUpdate = new DataUpdate() { TraceNumber = "668254", ProcessingCode = "ExternalUpdateRequest", Source = "LoanOrigination", UpdateAction = "Add", UpdateTarget = "Account", Account = new Account() { LoanOfficerName = "Admin Admin", AccountOpenDate = "2019-07-25", ProductName = app.HostValues.Any(h => h.Field1.Equals("AddAccount.Message.DataUpdate.Account.ProductName")) ? string.Empty : null, RateClass = app.HostValues.Any(h => h.Field1.Equals("AddAccount.Message.DataUpdate.Account.RateClass")) ? string.Empty : null, PromotionalRateClass = app.HostValues.Any(h => h.Field1.Equals("AddAccount.Message.DataUpdate.Account.PromotionalRateClass")) ? string.Empty : null, PromotionalRateClassStartDate = app.HostValues.Any(h => h.Field1.Equals("AddAccount.Message.DataUpdate.Account.PromotionalRateClassStartDate")) ? string.Empty : null, PromotionalRateClassEndDate = app.HostValues.Any(h => h.Field1.Equals("AddAccount.Message.DataUpdate.Account.PromotionalRateClassEndDate")) ? string.Empty : null, CreditLimit = 10000.00m, TaxOwnerPartyId = "79396", TaxOwnerPartyType = "Person", UserFields = fakeBehavior.GetUserFields(applicant) } } } }; return(account); }
/// <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)); }