public async Task GetEnrollmentForSite_ReturnsEnrollmentWithIdAndSiteId_IncludesEntities(
            string[] include,
            bool includeFundings,
            bool includeChild,
            bool includeFamily,
            bool includeDeterminations,
            bool includePastEnrollments
            )
        {
            int id;
            int siteId;

            using (var context = new TestHedwigContextProvider().Context)
            {
                var enrollment = EnrollmentHelper.CreateEnrollment(context);
                EnrollmentHelper.CreateEnrollment(context, child: enrollment.Child);
                id     = enrollment.Id;
                siteId = enrollment.SiteId;
            }

            using (var context = new TestHedwigContextProvider().Context)
            {
                var enrollmentRepo = new EnrollmentRepository(context);
                var res            = await enrollmentRepo.GetEnrollmentForSiteAsync(id, siteId, include);

                Assert.Equal(id, res.Id);
                Assert.Equal(includeFundings, res.Fundings != null);
                Assert.Equal(includeChild, res.Child != null);
                Assert.Equal(includeFamily, res.Child != null && res.Child.Family != null);
                Assert.Equal(includeDeterminations, res.Child != null && res.Child.Family != null && res.Child.Family.Determinations != null);
                Assert.Equal(includePastEnrollments, res.PastEnrollments != null);
            }
        }
Пример #2
0
        public async Task GetEnrollmentForSite_ReturnsEnrollmentWithIdAndSiteId_IncludesEntities(
            bool includeFundings,
            bool includeChild,
            bool includeFamily,
            bool includeDeterminations,
            bool includePastEnrollments
            )
        {
            int id;
            int siteId;

            using (var context = new TestHedwigContextProvider().Context)
            {
                var enrollment = EnrollmentHelper.CreateEnrollment(context);
                EnrollmentHelper.CreateEnrollment(context, child: enrollment.Child);
                id     = enrollment.Id;
                siteId = enrollment.SiteId;
            }

            var mapper = new MapperConfiguration(opts =>
            {
                opts.AddProfile(new EnrollmentProfile());
                opts.AddProfile(new FundingProfile());
                opts.AddProfile(new ChildProfile());
                opts.AddProfile(new FamilyProfile());
                opts.AddProfile(new SiteProfile());
            }).CreateMapper();

            using (var context = new TestHedwigContextProvider().Context)
            {
                var enrollmentRepo = new EnrollmentRepository(context, mapper);
                var res            = await enrollmentRepo.GetEnrollmentForSiteAsync(id, siteId);

                Assert.Equal(id, res.Id);
                Assert.Equal(includeFundings, res.Fundings != null);
                Assert.Equal(includeChild, res.Child != null);
                Assert.Equal(includeFamily, res.Child != null && res.Child.Family != null);
                Assert.Equal(includeDeterminations, res.Child != null && res.Child.Family != null && res.Child.Family.Determinations != null);
                Assert.Equal(includePastEnrollments, res.PastEnrollments != null);
            }
        }