Example #1
0
 /// <summary>
 /// Creates an Organization in CCM. This Organization must already exist in DNA/OSI.
 /// </summary>
 /// <param name="organization"></param>
 /// <returns></returns>
 public virtual BaseResult AddOrganization(Applicant organization)
 {
     return(AddOrganizationBehavior.AddOrganization(organization));
 }
Example #2
0
        public void AddOrganization_GivenAnOrganizationThatExistsInDNA_ButNotInCCM_ShouldBeAbleToAddThatOrganizationInCCM()
        {
            // ARRANGE
            var applicant = GetOrganization();
            var lmsPerson = new LmsPerson()
            {
                Applicant = applicant
            };

            var address = applicant.Addresses.FirstOrDefault(a => a.AddressTypeId == 311);
            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 = _organization.Message?.SerializeToXmlString();

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

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

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

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

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

            mockBehavior.Organization   = _organization;
            mockBehavior.CurrentAddress = address;
            mockBehavior.MainPhone      = phone;

            // ACT
            var result = mockBehavior.AddOrganization(applicant);

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