Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }