Пример #1
0
        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);
        }
Пример #2
0
        public override BaseResult AddAccount(Applicant primaryApplicant, out string accountNumber)
        {
            var result = AddAccountBehavior.AddAccount(primaryApplicant);

            accountNumber = AddAccountBehavior.MessageResponse?.AccountNumber;

            return(result);
        }
Пример #3
0
        /// <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));
        }