Ejemplo n.º 1
0
        public void Get_Residency_ById_And_Courses_WithoutGenericHelper()
        {
            //arrange
            var filterLambdaOperatorDescriptor = GetFilterExpressionDescriptor <ResidencyModel>
                                                 (
                GetResidencyByIdFilterBody(2),
                "q"
                                                 );

            IMapper mapper = serviceProvider.GetRequiredService <IMapper>();
            IEnrollmentRepository repository = serviceProvider.GetRequiredService <IEnrollmentRepository>();

            //act
            var expression      = mapper.MapToOperator(filterLambdaOperatorDescriptor).Build();
            var selectAndExpand = new Common.Configuration.ExpansionDescriptors.SelectExpandDefinitionDescriptor
            {
                ExpandedItems = new List <Common.Configuration.ExpansionDescriptors.SelectExpandItemDescriptor>
                {
                    new Common.Configuration.ExpansionDescriptors.SelectExpandItemDescriptor
                    {
                        MemberName = "StatesLivedIn"
                    }
                }
            };

            var entity = (ResidencyModel)RequestHelpers.GetEntity
                         (
                new Business.Requests.GetEntityRequest
            {
                Filter = filterLambdaOperatorDescriptor,
                SelectExpandDefinition = selectAndExpand,
                ModelType = typeof(ResidencyModel).AssemblyQualifiedName,
                DataType  = typeof(Residency).AssemblyQualifiedName
            },
                repository,
                mapper
                         ).Result.Entity;

            //assert
            AssertFilterStringIsCorrect(expression, "q => (q.UserId == 2)");
            Assert.Equal(2, entity.StatesLivedIn.Count);
        }
Ejemplo n.º 2
0
        public void Select_Residencies_In_Ascending_Order_As_ResidencyModel_Type_With_Courses()
        {
            //arrange
            var selectorLambdaOperatorDescriptor = GetExpressionDescriptor <IQueryable <ResidencyModel>, IQueryable <ResidencyModel> >
                                                   (
                GetResidenciesBodyOrderByDriversLicenseNumber(),
                "q"
                                                   );
            IMapper mapper = serviceProvider.GetRequiredService <IMapper>();
            IEnrollmentRepository repository = serviceProvider.GetRequiredService <IEnrollmentRepository>();

            //act
            var expression      = mapper.MapToOperator(selectorLambdaOperatorDescriptor).Build();
            var selectAndExpand = new Common.Configuration.ExpansionDescriptors.SelectExpandDefinitionDescriptor
            {
                ExpandedItems = new List <Common.Configuration.ExpansionDescriptors.SelectExpandItemDescriptor>
                {
                    new Common.Configuration.ExpansionDescriptors.SelectExpandItemDescriptor
                    {
                        MemberName = "StatesLivedIn"
                    }
                }
            };
            var list = RequestHelpers.GetList <ResidencyModel, Residency, IQueryable <ResidencyModel>, IQueryable <Residency> >
                       (
                new Business.Requests.GetTypedListRequest
            {
                Selector = selectorLambdaOperatorDescriptor,
                SelectExpandDefinition = selectAndExpand
            },
                repository,
                mapper
                       ).Result.List.Cast <ResidencyModel>().ToList();

            //assert
            AssertFilterStringIsCorrect(expression, "q => Convert(q.OrderBy(d => d.DriversLicenseNumber))");
            Assert.Equal(2, list.Count);
            Assert.True(list.All(d => d.StatesLivedIn.Any()));
        }