/// <summary> /// Determines if each Applicant (Primary or Joint(s)) and Authorizaed User(s) exists in CCM. /// </summary> /// <remarks>Person/Organization number must exist on the Application</remarks> /// <param name="personNumber"></param> /// <param name="errorMessage"></param> /// <param name="relationshipInfos"></param> /// <returns></returns> public virtual BaseResult Inquiry(string personNumber, out string errorMessage, out IList <Dto.Rest.RelationshipInfo> relationshipInfos) { errorMessage = string.Empty; relationshipInfos = null; return(InquiryBehavior.Inquiry(personNumber)); }
public override BaseResult Inquiry(string personNumber, out string errorMessage, out IList <RelationshipInfo> relationshipInfos) { var result = InquiryBehavior.Inquiry(personNumber); errorMessage = InquiryBehavior.ErrorMessage; relationshipInfos = InquiryBehavior.RelationshipInfos; return(result); }
public void Inquiry_WhenAPerson_HasAnAccountNumberInCCM_ThatMatchesTheApplicationCreditCardNumber_Then_ShouldReturnFound (int existingPersonNumber, int existingAccountNumber) { // ARRANGE var stubProxy = Substitute.For <IServiceProxy>(); stubProxy.GetAuthToken(Arg.Any <Session>()).Returns("71a4899f66ee2c2e30883e1c835eb5cf"); stubProxy.GetAuthorization().Returns("AuthToken 71a4899f66ee2c2e30883e1c835eb5cf"); var header = new Header() { ContentType = "application/json", Authorization = stubProxy.GetAuthorization() }; var partyRelationshipsInquiry = new PartyRelationshipsInquiry() { ApiVersion = "v1", PartyId = existingPersonNumber }; var request = new Request <PartyRelationshipsInquiry>() { Body = partyRelationshipsInquiry }; var stubApi = Substitute.For <IAPI>(); var stubLazyApi = new Lazy <IAPI>(() => stubApi); var credentials = new Credentials() { BaseUrl = "https://some.bank.or.cu/api", Username = "******", Password = "******", Facility = "validFacility" }; stubLazyApi.Value.URL = $"{credentials.BaseUrl}/{_apiVersion}/parties/{existingPersonNumber}/relationships"; var relationshipInfos = new List <RelationshipInfo>() { new RelationshipInfo() { PartyId = "8675309", AccountNumber = "11111111" }, new RelationshipInfo() { PartyId = existingPersonNumber.ToString(), AccountNumber = existingAccountNumber.ToString() } }; var partyRelationshipInquiryResponse = new PartyRelationshipsInquiryResponse() { RelationshipInfos = relationshipInfos }; stubLazyApi.Value.Get <PartyRelationshipsInquiryResponse>().Returns(partyRelationshipInquiryResponse); var lazyApiValue = stubLazyApi.Value.Get <PartyRelationshipsInquiryResponse>(); stubProxy.MakeInquiry(partyRelationshipsInquiry).Returns(lazyApiValue); var proxyMakeInquiry = stubProxy.MakeInquiry(partyRelationshipsInquiry); var stubRepo = Substitute.For <IRestRepository>(); stubRepo.Proxy = stubProxy; stubRepo.Proxy.MakeInquiry(partyRelationshipsInquiry).Returns(proxyMakeInquiry); var makeInquiryResult = stubRepo.Proxy.MakeInquiry(partyRelationshipsInquiry); var relationships = makeInquiryResult?.RelationshipInfos; stubRepo.MakeInquiry(partyRelationshipsInquiry).Returns(relationships); var mockBehavior = new InquiryBehavior(_app, _userToken, stubRepo); mockBehavior.PartyRelationshipInquiry = partyRelationshipsInquiry; // ACT var result = mockBehavior.Inquiry(existingAccountNumber.ToString()); var errorMessage = mockBehavior.ErrorMessage; // ASSERT Assert.IsNotEmpty(errorMessage); Assert.AreEqual("Found", errorMessage); }