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); }
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); }
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(); }
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); }
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); }
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)); }
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()); }