public void PoliciesService_GetPoliciesByClientId_ExistingClientIdWithPolicies_ReturnPolicies()
        {
            //Arrange
            var id    = ArrangeProvider._ID0_;
            var email = ArrangeProvider._EMAIL_;

            var rootPolicy = ArrangeProvider.GetRootPolicy();

            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("1", email, id, 1.1));
            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("2", email, id, 2.2));
            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("3", email, id, 3.3));

            var mockPoliciesRepository = new Mock <IPoliciesRepository>();

            mockPoliciesRepository.Setup(x => x.GetPoliciesByClientId(id)).Returns(rootPolicy.Policies);

            var mapper = ArrangeProvider.GetMapper();

            var service = new PoliciesService(mapper, mockPoliciesRepository.Object);

            var expected = rootPolicy.Policies.Select(p => mapper.Map <PolicyDto>(p)).ToList();

            //Act
            var result = service.GetPoliciesByClientId(id);

            //Assert
            CollectionAssert.AreEquivalent((System.Collections.ICollection)(expected), (System.Collections.ICollection)result);
        }
        public void PoliciesService_GetPoliciesByClientId_NonExistingClientId_ReturnNull()
        {
            //Arrange
            var id    = ArrangeProvider._ID0_;
            var email = ArrangeProvider._EMAIL_;

            var rootPolicy = ArrangeProvider.GetRootPolicy();

            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("1", email, id, 1.1));
            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("2", email, id, 2.2));
            rootPolicy.Policies.Add(ArrangeProvider.GetPolicy("3", email, id, 3.3));

            var mockPoliciesRepository = new Mock <IPoliciesRepository>();

            mockPoliciesRepository.Setup(x => x.GetPoliciesByClientId(id)).Returns(rootPolicy.Policies);

            var mapper = ArrangeProvider.GetMapper();

            var service = new PoliciesService(mapper, mockPoliciesRepository.Object);

            //Act
            var result = service.GetPoliciesByClientId(ArrangeProvider._ID1_);

            //Assert
            Assert.IsTrue(result.Count() == 0);
        }
        public void PoliciesService_GetPolicyById_NonExistingExistingPolicyId_ReturnNull()
        {
            //Arrange
            var id = ArrangeProvider._ID0_;

            var policy = ArrangeProvider.GetPolicy(id: id);

            var mockPoliciesRepository = new Mock <IPoliciesRepository>();

            mockPoliciesRepository.Setup(x => x.GetPolicyById(id)).Returns(policy);

            var mapper = ArrangeProvider.GetMapper();

            var service = new PoliciesService(mapper, mockPoliciesRepository.Object);

            //Act
            var result = service.GetPolicyById(ArrangeProvider._ID1_);

            //Assert
            Assert.IsNull(result);
        }
 public CompositePolicy(PoliciesService policiesService)
 {
     PoliciesService = policiesService;
 }