public void AddAccountPartyRelationship_GivenAJointPersonThatExistsInCCM_ShouldNotBeAbleToAddThatJointToTheAccountInCCM() { // ARRANGE var jointApplicant = GetApplicant(); var credentials = new Credentials() { BaseUrl = "https://some.bank.or.cu/api", Username = "******", Password = "******", Facility = "validFacility" }; var credentialsHeader = GetCredentialsHeader(credentials); var messageXml = _accountPartyRelationship.Message?.SerializeToXmlString(); messageXml = HostValueTranslator.UpdateRequestWithHostValues( messageXml, _app.HostValues.Where(hv => hv.Field1.StartsWith("AddAccountPartyRelationship.")).ToList(), _accountPartyRelationship.Message?.HostValueParentNode ); messageXml = HostValueTranslator.UpdateRequestWithHostValues( messageXml, jointApplicant.HostValues.Where(hv => hv.Field1.StartsWith("AddAccountPartyRelationship.")).ToList(), _accountPartyRelationship.Message?.HostValueParentNode ); var processMessageNodeRequest = new ProcessMessageNodeRequest() { CredentialsHeader = credentialsHeader, request = GetXmlNode(messageXml) }; var stubServiceRepo = Substitute.For <ISoapRepository>(); stubServiceRepo.GetProcessMessageNodeRequest(credentialsHeader, messageXml).Returns(processMessageNodeRequest); _messageResponse = GetMessageResponseFail(); stubServiceRepo.AddAccountPartyRelationship(_accountPartyRelationship, _app, jointApplicant).Returns(_messageResponse); var mockBehavior = new AddAccountPartyRelationshipBehavior(_app, _userToken, stubServiceRepo); mockBehavior.AccountPartyRelationship = _accountPartyRelationship; // ACT var result = mockBehavior.AddAccountPartyRelationship(jointApplicant); // ASSERT Assert.AreEqual(0, result.Messages.Count(m => m.Type == MessageType.Error)); Assert.IsTrue(result.Result); Assert.AreEqual("SystemMalfunction", mockBehavior.MessageResponse.ResponseCode); }
/// <summary> /// Adds a Joint CCM credit card account. /// </summary> /// <param name="jointApplicant"></param> /// <returns></returns> public virtual BaseResult AddAccountPartyRelationship(Applicant jointApplicant) { return(AddAccountPartyRelationshipBehavior.AddAccountPartyRelationship(jointApplicant)); }