Exemple #1
0
        public void Should_GetSchoolsByParentEdOrgId_returns_expected_schools_list()
        {
            // Arrange
            var edfiSchool = new EdFiSchool("id", "TestSchool", 1234, new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>(),
                                            new EdFiLocalEducationAgencyReference(LocalEducationAgencyId));

            var mockOdsRestClient = new Mock <IOdsRestClient>();
            var filters           = new Dictionary <string, object>
            {
                { "localEducationAgencyId", LocalEducationAgencyId }
            };

            mockOdsRestClient.Setup(x => x.GetAll <EdFiSchool>(ResourcePaths.Schools, filters)).Returns(new List <EdFiSchool>
            {
                edfiSchool
            });

            _facade = new OdsApiFacade(_mapper, mockOdsRestClient.Object);

            //Act
            var result = _facade.GetSchoolsByLeaIds(new List <int> {
                LocalEducationAgencyId
            });

            // Assert
            result.ShouldNotBeNull();
            result.Count.ShouldBeGreaterThan(0);
            result.First().Name.ShouldBe("TestSchool");
        }
        public List <EdFiEducationOrganizationAddress> Resolve(School source, EdFiSchool destination, List <EdFiEducationOrganizationAddress> destMember, ResolutionContext context)
        {
            var addressList = EducationOrganizationAddressResolver.ReplaceFirstAddressInList(source, destMember);

            destMember?.Clear(); // by default, automapper combines the source list with the destination list. we want to replace the destination list instead
            return(addressList);
        }
        public void When_resolve_destination_local_education_agency_reference_from_source()
        {
            // Arrange
            var school = new School
            {
                LocalEducationAgencyId = LocalEducationAgencyId
            };

            var edfiSchool = new EdFiSchool("id", Name, 1234, new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());

            var mapperConfiguration = new MapperConfiguration(cfg =>
                                                              cfg.CreateMap <School, EdFiSchool>()
                                                              .ForMember(dst => dst.LocalEducationAgencyReference,
                                                                         opt => opt.MapFrom <LocalEducationAgencyReferenceResolver>()));
            var mapper = mapperConfiguration.CreateMapper();

            // Act
            var result = mapper.Map(school, edfiSchool);

            // Assert
            result.ShouldNotBeNull();
            result.LocalEducationAgencyReference.ShouldNotBeNull();
            result.LocalEducationAgencyReference.LocalEducationAgencyId.ShouldBe(LocalEducationAgencyId);
        }
            public void When_Mapping_EdFiPsiSchool_to_School_Should_Have_Expected_Values_On_Destination()
            {
                // Arrange
                var edfiSchool = new EdFiSchool(Id, Name, SchoolId, _addresses, _edOrgCategories, _gradeLevels, null, _schoolExtensions);

                // Act
                var result = _mapper.Map <PsiSchool>(edfiSchool);

                // Assert
                result.ShouldNotBeNull();
                result.Id.ShouldBe(Id);
                result.Name.ShouldBe(Name);
                result.EducationOrganizationId.ShouldBe(SchoolId);
                result.PostSecondaryInstitutionId.ShouldBe(PsiId);
                result.LocalEducationAgencyId.ShouldBeNull();
                result.StreetNumberName.ShouldBe(StreetNumberName);
                result.ApartmentRoomSuiteNumber.ShouldBe(ApartmentRoomSuiteNumber);
                result.State.ShouldBe(StateAbbreviationDescriptor);
                result.City.ShouldBe(City);
                result.ZipCode.ShouldBe(PostalCode);
                result.GradeLevels.Count.ShouldBeGreaterThan(0);
                result.GradeLevels.First().ShouldBe(GradeLevelDescriptor);
                result.AccreditationStatus.ShouldBe(AccreditationStatusDescriptor);
                result.FederalLocaleCode.ShouldBe(FederalLocaleCodeDescriptor);
            }
            public void Should_resolve_destination_edorg_categories()
            {
                // Arrange
                var school = new School
                {
                    EducationOrganizationCategory = EdOrgCategory
                };

                var edfiSchool = new EdFiSchool("id", "TestSchool", 1234, new List <EdFiEducationOrganizationAddress>(),
                                                new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());

                var mapperConfiguration = new MapperConfiguration(
                    cfg =>
                    cfg.CreateMap <School, EdFiSchool>()
                    .ForMember(
                        dst => dst.EducationOrganizationCategories,
                        opt => opt.MapFrom <SchoolCategoryResolver>()));
                var mapper = mapperConfiguration.CreateMapper();

                // Act
                var result = mapper.Map(school, edfiSchool);

                // Assert
                result.ShouldNotBeNull();
                result.EducationOrganizationCategories.ShouldNotBeNull();
                result.EducationOrganizationCategories.Count.ShouldBeGreaterThan(0);
                result.EducationOrganizationCategories.First().EducationOrganizationCategoryDescriptor.ShouldBe(EdOrgCategoryDescriptor);
            }
        public void Should_resolve_destination_addresses_with_school_address_resolver()
        {
            // Arrange
            var school = new School
            {
                StreetNumberName = StreetNumberName,
                State            = State,
                City             = City,
                ZipCode          = ZipCode
            };
            var edfiSchool = new EdFiSchool("id", "TestSchool", 1234, new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());

            Mapper.Initialize(cfg =>
                              cfg.CreateMap <School, EdFiSchool>()
                              .ForMember(dst => dst.Addresses, opt => opt.ResolveUsing <SchoolAddressResolver>()));

            // Act
            var result = Mapper.Map(school, edfiSchool);

            // Assert
            result.ShouldNotBeNull();
            result.Addresses.ShouldNotBeNull();
            result.Addresses.Count.ShouldBeGreaterThan(0);
            result.Addresses.First().City.ShouldBe(City);
            result.Addresses.First().StreetNumberName.ShouldBe(StreetNumberName);
            result.Addresses.First().StateAbbreviationDescriptor.ShouldBe(State);
            result.Addresses.First().PostalCode.ShouldBe(ZipCode);
        }
Exemple #7
0
            public void Should_resolve_destination_grade_levels()
            {
                // Arrange
                var school = new School
                {
                    GradeLevels = new List <string> {
                        Kinder, "FirstGrade", "SecondGrade"
                    }
                };

                var edfiSchool = new EdFiSchool("id", "TestSchool", 1234, new List <EdFiEducationOrganizationAddress>(),
                                                new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());

                var mapperConfiguration = new MapperConfiguration(
                    cfg =>
                    cfg.CreateMap <School, EdFiSchool>()
                    .ForMember(
                        dst => dst.GradeLevels, opt => opt.MapFrom <SchoolGradeLevelResolver>()));
                var mapper = mapperConfiguration.CreateMapper();

                // Act
                var result = mapper.Map(school, edfiSchool);

                // Assert
                result.ShouldNotBeNull();
                result.GradeLevels.ShouldNotBeNull();
                result.GradeLevels.Count.ShouldBe(3);
                result.GradeLevels.First().GradeLevelDescriptor.ShouldBe(Kinder);
            }
Exemple #8
0
        public void Should_GetSchoolById_returns_expected_school()
        {
            // Arrange
            var edfiSchool = new EdFiSchool(SchoolId, SchoolName, 1234, new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());
            var mockOdsRestClient = new Mock <IOdsRestClient>();

            mockOdsRestClient.Setup(x => x.GetById <EdFiSchool>(ResourcePaths.SchoolById, SchoolId)).Returns(edfiSchool);

            _facade = new OdsApiFacade(_mapper, mockOdsRestClient.Object);

            // Act
            var result = _facade.GetSchoolById(SchoolId);

            // Assert
            result.ShouldNotBeNull();
            result.Id.ShouldBe(SchoolId);
            result.Name.ShouldBe(SchoolName);
        }
            public void When_Mapping_School_to_EdFiSchool_Should_Have_Expected_Values_On_Destination()
            {
                // Arrange
                var school = new School
                {
                    Id = Id,
                    EducationOrganizationId = SchoolId,
                    Name  = Name,
                    State = State,
                    ApartmentRoomSuiteNumber = ApartmentRoomSuiteNumber,
                    StreetNumberName         = StreetNumberName,
                    City        = City,
                    ZipCode     = PostalCode,
                    GradeLevels = new List <string> {
                        GradeLevelDescriptor
                    },
                    LocalEducationAgencyId        = LeaId,
                    EducationOrganizationCategory = LocalEducationAgencyCategoryType
                };

                var edfiSchool = new EdFiSchool(Id, Name, SchoolId, new List <EdFiEducationOrganizationAddress>(),
                                                new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());
                // Act
                var result = _mapper.Map(school, edfiSchool);

                // Assert
                result.ShouldNotBeNull();
                result.Id.ShouldBe(Id);
                result.SchoolId.ShouldBe(SchoolId);
                result.NameOfInstitution.ShouldBe(Name);
                result.Addresses.Count.ShouldBe(1);
                result.Addresses.First().StreetNumberName.ShouldBe(StreetNumberName);
                result.Addresses.First().ApartmentRoomSuiteNumber.ShouldBe(ApartmentRoomSuiteNumber);
                result.Addresses.First().City.ShouldBe(City);
                result.Addresses.First().StateAbbreviationDescriptor.ShouldContain(State);
                result.Addresses.First().PostalCode.ShouldBe(PostalCode);
                result.EducationOrganizationCategories.Count.ShouldBe(1);
                result.EducationOrganizationCategories.First().EducationOrganizationCategoryDescriptor.ShouldContain(LocalEducationAgencyCategoryType);
                result.GradeLevels.Count.ShouldBe(1);
                result.GradeLevels.First().GradeLevelDescriptor.ShouldBe(GradeLevelDescriptor);
                result.LocalEducationAgencyReference.LocalEducationAgencyId.ShouldBe(LeaId);
                result._ext.ShouldBeNull();
            }
Exemple #10
0
        public void When_source_value_isnull_resolve_destination_local_education_agency_reference_from_destination()
        {
            // Arrange
            var edfiSchool = new EdFiSchool("id", Name, 1234,
                                            new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>(),
                                            new EdFiLocalEducationAgencyReference(LocalEducationAgencyId));

            Mapper.Initialize(cfg =>
                              cfg.CreateMap <School, EdFiSchool>()
                              .ForMember(dst => dst.LocalEducationAgencyReference,
                                         opt => opt.ResolveUsing <LocalEducationAgencyReferenceResolver>()));

            // Act
            var result = Mapper.Map(new School(), edfiSchool);

            // Assert
            result.ShouldNotBeNull();
            result.LocalEducationAgencyReference.ShouldNotBeNull();
            result.LocalEducationAgencyReference.LocalEducationAgencyId.ShouldBe(LocalEducationAgencyId);
        }
Exemple #11
0
        public void Should_GetAllSchools_returns_expected_schools_list()
        {
            // Arrange
            var edfiSchool = new EdFiSchool("id", "TestSchool", 1234, new List <EdFiEducationOrganizationAddress>(),
                                            new List <EdFiEducationOrganizationCategory>(), new List <EdFiSchoolGradeLevel>());
            var mockOdsRestClient = new Mock <IOdsRestClient>();

            mockOdsRestClient.Setup(x => x.GetAll <EdFiSchool>(ResourcePaths.Schools)).Returns(new List <EdFiSchool>
            {
                edfiSchool
            });

            _facade = new OdsApiFacade(_mapper, mockOdsRestClient.Object);

            //Act
            var result = _facade.GetAllSchools();

            // Assert
            result.ShouldNotBeNull();
            result.Count.ShouldBeGreaterThan(0);
            result.First().Name.ShouldBe("TestSchool");
        }
            public void When_Mapping_EdFiSchool_to_School_Should_Have_Expected_Values_On_Destination()
            {
                // Arrange
                var edfiSchool = new EdFiSchool(Id, Name, SchoolId, _addresses, _edOrgCategories, _gradeLevels, _leaReference);

                // Act
                var result = _mapper.Map <School>(edfiSchool);

                // Assert
                result.ShouldNotBeNull();
                result.Id.ShouldBe(Id);
                result.Name.ShouldBe(Name);
                result.EducationOrganizationId.ShouldBe(SchoolId);
                result.LocalEducationAgencyId.ShouldBe(LeaId);
                result.StreetNumberName.ShouldBe(StreetNumberName);
                result.ApartmentRoomSuiteNumber.ShouldBe(ApartmentRoomSuiteNumber);
                result.State.ShouldBe(StateAbbreviationDescriptor);
                result.City.ShouldBe(City);
                result.ZipCode.ShouldBe(PostalCode);
                result.GradeLevels.Count.ShouldBeGreaterThan(0);
                result.GradeLevels.First().ShouldBe(GradeLevelDescriptor);
            }
Exemple #13
0
 public List <EdFiEducationOrganizationCategory> Resolve(School source, EdFiSchool destination,
                                                         List <EdFiEducationOrganizationCategory> destMember, ResolutionContext context)
 {
     destMember?.Clear(); // by default, automapper combines the source list with the destination list. we want to replace the destination list instead
     return(EducationOrganizationCategoryResolver.GetNewEducationCategory(source.EducationOrganizationCategory));
 }
Exemple #14
0
 public List <EdFiSchoolGradeLevel> Resolve(School source, EdFiSchool destination, List <EdFiSchoolGradeLevel> destMember, ResolutionContext context)
 {
     destMember?.Clear(); // by default, automapper combines the source list with the destination list. we want to replace the destination list instead
     return(source.GradeLevels?.Select(x => new EdFiSchoolGradeLevel(x)).ToList());
 }