Ejemplo n.º 1
0
 /// <summary>
 /// Creates a Person in CCM. This Person must already exist in DNA/OSI.
 /// </summary>
 /// <param name="person"></param>
 /// <returns></returns>
 public virtual BaseResult AddPerson(LmsPerson lmsPerson)
 {
     return(AddPersonBehavior.AddPerson(lmsPerson));
 }
Ejemplo n.º 2
0
        public void AddPerson_GivenAPersonThatExistsInDNA_ButNotInCCM_ShouldBeAbleToAddThatPersonInCCM()
        {
            // ARRANGE
            var applicant = GetApplicant();
            var lmsPerson = new LmsPerson()
            {
                Applicant = applicant
            };

            var address = applicant.Addresses.FirstOrDefault();
            var phone   = applicant.Phones.FirstOrDefault();

            var credentials = new Credentials()
            {
                BaseUrl  = "https://some.bank.or.cu/api",
                Username = "******",
                Password = "******",
                Facility = "validFacility"
            };

            var credentialsHeader = GetCredentialsHeader(credentials);

            var messageXml = _person.Message?.SerializeToXmlString();

            messageXml = HostValueTranslator.UpdateRequestWithHostValues(
                messageXml,
                _app.HostValues.Where(hv => hv.Field1.StartsWith("AddPerson.")).ToList(),
                _person.Message?.HostValueParentNode
                );

            messageXml = HostValueTranslator.UpdateRequestWithHostValues(
                messageXml,
                applicant.HostValues.Where(hv => hv.Field1.StartsWith("AddPerson.")).ToList(),
                _person.Message?.HostValueParentNode
                );

            messageXml = HostValueTranslator.UpdateRequestWithHostValues(
                messageXml,
                address.HostValues.Where(hv => hv.Field1.StartsWith("AddPerson.")).ToList(),
                _person.Message?.HostValueParentNode
                );

            messageXml = HostValueTranslator.UpdateRequestWithHostValues(
                messageXml,
                phone.HostValues.Where(hv => hv.Field1.StartsWith("AddPerson.")).ToList(),
                _person.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.AddPerson(_person, _app, lmsPerson, address, phone).Returns(_messageResponse);
            var stubLmsRepo = Substitute.For <ILmsRepository>();

            var mockBehavior = new AddPersonBehavior(_app, _userToken, stubServiceRepo, stubLmsRepo);

            mockBehavior.Person         = _person;
            mockBehavior.CurrentAddress = address;
            mockBehavior.MainPhone      = phone;

            // ACT
            var result = mockBehavior.AddPerson(lmsPerson);

            // ASSERT
            Assert.AreEqual(0, result.Messages.Count(m => m.Type == MessageType.Error));
            Assert.IsTrue(result.Result);
            Assert.AreEqual("Success", mockBehavior.MessageResponse.ResponseCode);
        }