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);
        }
Пример #2
0
        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);
        }
Пример #4
0
        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);
            }
Пример #7
0
 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));
 }