public void Should_resolve_destination_addresses_with_local_education_agency_address_resolver() { // Arrange var lea = new LocalEducationAgency { StreetNumberName = StreetNumberName, State = State, City = City, ZipCode = ZipCode }; var edfiLea = new EdFiLocalEducationAgency("id", new List <EdFiEducationOrganizationAddress>(), new List <EdFiEducationOrganizationCategory>(), 1234, localEducationAgencyCategoryDescriptor: "leaCategory", nameOfInstitution: "TestLea"); Mapper.Initialize(cfg => cfg.CreateMap <LocalEducationAgency, EdFiLocalEducationAgency>() .ForMember(dst => dst.Addresses, opt => opt.ResolveUsing <LocalEducationAgencyAddressResolver>())); // Act var result = Mapper.Map(lea, edfiLea); // 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 When_resolve_destination_state_education_agency_reference_from_source() { // Arrange var lea = new LocalEducationAgency { StateOrganizationId = StateEducationAgencyId }; var edfiLea = new EdFiLocalEducationAgency("id", new List <EdFiEducationOrganizationAddress>(), new List <EdFiEducationOrganizationCategory>(), 1234, nameOfInstitution: Name, localEducationAgencyCategoryDescriptor: Category); var mapperConfiguration = new MapperConfiguration(cfg => cfg.CreateMap <LocalEducationAgency, EdFiLocalEducationAgency>() .ForMember(dst => dst.StateEducationAgencyReference, opt => opt.MapFrom <StateEducationAgencyReferenceResolver>())); var mapper = mapperConfiguration.CreateMapper(); // Act var result = mapper.Map(lea, edfiLea); // Assert result.ShouldNotBeNull(); result.StateEducationAgencyReference.ShouldNotBeNull(); result.StateEducationAgencyReference.StateEducationAgencyId.ShouldBe(StateEducationAgencyId); }
public List <EdFiEducationOrganizationAddress> Resolve(LocalEducationAgency source, EdFiLocalEducationAgency 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_source_value_isnull_resolve_destination_state_education_agency_reference_from_destination() { // Arrange var edfiLea = new EdFiLocalEducationAgency("id", new List <EdFiEducationOrganizationAddress>(), new List <EdFiEducationOrganizationCategory>(), 1234, stateEducationAgencyReference: new EdFiStateEducationAgencyReference(StateEducationAgencyId), nameOfInstitution: Name, localEducationAgencyCategoryDescriptor: Category); Mapper.Initialize(cfg => cfg.CreateMap <LocalEducationAgency, EdFiLocalEducationAgency>() .ForMember(dst => dst.StateEducationAgencyReference, opt => opt.ResolveUsing <StateEducationAgencyReferenceResolver>())); // Act var result = Mapper.Map(new LocalEducationAgency(), edfiLea); // Assert result.ShouldNotBeNull(); result.StateEducationAgencyReference.ShouldNotBeNull(); result.StateEducationAgencyReference.StateEducationAgencyId.ShouldBe(StateEducationAgencyId); }
public void When_Mapping_LocalEducationAgency_to_EdFiLocalEducationAgency_Should_Have_Expected_Values_On_Destination() { // Arrange var lea = new LocalEducationAgency { Id = Id, LocalEducationAgencyId = LeaId, Name = Name, LocalEducationAgencyCategoryType = LocalEducationAgencyCategoryType, State = State, ApartmentRoomSuiteNumber = ApartmentRoomSuiteNumber, StreetNumberName = StreetNumberName, City = City, ZipCode = PostalCode, StateOrganizationId = StateEducationAgencyId, EducationOrganizationCategory = LocalEducationAgencyCategoryType }; var edfiLea = new EdFiLocalEducationAgency(Id, new List <EdFiEducationOrganizationAddress>(), new List <EdFiEducationOrganizationCategory>(), LeaId, nameOfInstitution: Name, localEducationAgencyCategoryDescriptor: LocalEducationAgencyCategoryType); // Act var result = _mapper.Map(lea, edfiLea); // Assert result.ShouldNotBeNull(); result.Id.ShouldBe(Id); result.LocalEducationAgencyId.ShouldBe(LeaId); result.NameOfInstitution.ShouldBe(Name); result.LocalEducationAgencyCategoryDescriptor.ShouldBe(LocalEducationAgencyCategoryType); result.Addresses.Count.ShouldBe(1); result.Addresses.First().StreetNumberName.ShouldBe(StreetNumberName); result.Addresses.First().City.ShouldBe(City); result.Addresses.First().StateAbbreviationDescriptor.ShouldContain(State); result.Addresses.First().ApartmentRoomSuiteNumber.ShouldBe(ApartmentRoomSuiteNumber); result.Addresses.First().PostalCode.ShouldBe(PostalCode); result.StateEducationAgencyReference.StateEducationAgencyId.ShouldBe(StateEducationAgencyId); result.Categories.Count.ShouldBe(1); result.Categories.First().EducationOrganizationCategoryDescriptor.ShouldContain(LocalEducationAgencyCategoryType); }
public void When_Mapping_EdFiLocalEducationAgency_to_LocalEducationAgency_Should_Have_Expected_Values_On_Destination() { // Arrange var edfiSchool = new EdFiLocalEducationAgency(Id, _addresses, _edOrgCategories, localEducationAgencyCategoryDescriptor: LocalEducationAgencyCategoryDescriptor, nameOfInstitution: Name, localEducationAgencyId: LeaId, stateEducationAgencyReference: _stateEducationAgencyReference); // Act var result = _mapper.Map <LocalEducationAgency>(edfiSchool); // Assert result.ShouldNotBeNull(); result.Id.ShouldBe(Id); result.Name.ShouldBe(Name); result.EducationOrganizationId.ShouldBe(LeaId); 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.LocalEducationAgencyCategoryType.ShouldBe(LocalEducationAgencyCategoryDescriptor); result.StateOrganizationId.ShouldBe(StateEducationAgencyId); }
public List <EdFiEducationOrganizationCategory> Resolve(LocalEducationAgency source, EdFiLocalEducationAgency 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)); }