コード例 #1
0
        public void Validate_ShouldReturnNull()
        {
            // Arrange
            var address = new Address();

            // Act
            var validatedAddress = address.Validate();

            // Assert
            Assert.Null(validatedAddress);
        }
コード例 #2
0
        public void Validate_ShouldReturnAutomaticallyPickedAddress()
        {
            // Arrange
            var address = new Address
            {
                Postcode = "SK13EX",
                PlaceRef = "123"
            };

            // Act
            var validatedAddress = address.Validate();

            // Assert
            Assert.NotNull(validatedAddress);
        }
コード例 #3
0
        public static Address Validate(this Address address)
        {
            if (!string.IsNullOrEmpty(address.AddressLine1) && !string.IsNullOrEmpty(address.Town) &&
                !string.IsNullOrEmpty(address.Postcode))
            {
                return(address);
            }

            if (!string.IsNullOrEmpty(address.PlaceRef) && !string.IsNullOrEmpty(address.Postcode))
            {
                return(address);
            }

            return(null);
        }
コード例 #4
0
        public void Validate_ShouldReturnManuallyPickedAddress()
        {
            // Arrange
            var address = new Address
            {
                AddressLine1 = "Line 1",
                Town         = "Town",
                Postcode     = "SK13XE"
            };

            // Act
            var validatedAddress = address.Validate();

            // Assert
            Assert.NotNull(validatedAddress);
        }
コード例 #5
0
        public static Address MapToFosteringAddress(List <CustomField> fields, string addressFieldName, string placeRefFieldName, string postcodeFieldName)
        {
            var address = new Address
            {
                AddressLine1 = string.Empty,
                AddressLine2 = string.Empty,
                Town         = string.Empty
            };

            address.PlaceRef = fields.FirstOrDefault(_ => _.Name == placeRefFieldName)?.Value ?? string.Empty;
            address.Postcode = fields.FirstOrDefault(_ => _.Name == postcodeFieldName)?.Value ?? string.Empty;

            var addressFieldValue = fields.FirstOrDefault(_ => _.Name == addressFieldName)?.Value;

            if (string.IsNullOrEmpty(address.PlaceRef) && !string.IsNullOrEmpty(addressFieldValue))
            {
                var splittedAddress = addressFieldValue.Split("|");

                switch (splittedAddress.Length)
                {
                case 0:
                    break;

                case 1:
                    address.AddressLine1 = splittedAddress[0];
                    break;

                case 2:
                    address.AddressLine1 = splittedAddress[0];
                    address.AddressLine2 = splittedAddress[1];
                    break;

                default:
                    address.AddressLine1 = splittedAddress[0];
                    address.AddressLine2 = splittedAddress[1];
                    address.Town         = splittedAddress[2];
                    break;
                }
            }

            if (!string.IsNullOrEmpty(address.PlaceRef) && !string.IsNullOrEmpty(addressFieldValue))
            {
                address.SelectedAddress = addressFieldValue;
            }

            return(address);
        }
コード例 #6
0
        public void MapToVerintAddress_ShouldMapAutomaticallyPickedAddress()
        {
            //Arrange
            var address = new Address
            {
                PlaceRef        = "123",
                Postcode        = "SK13EX",
                SelectedAddress = "address"
            };

            //Act
            var result = AddressMapper.MapToVerintAddress(address, "address", "placeRef", "postcode");

            //Assert
            Assert.True(result.Exists(_ => _.FormFieldName == "address" && _.FormFieldValue == "address"));
            Assert.True(result.Exists(_ => _.FormFieldName == "placeRef" && _.FormFieldValue == "123"));
            Assert.True(result.Exists(_ => _.FormFieldName == "postcode" && _.FormFieldValue == "SK13EX"));
        }
コード例 #7
0
        public static List <IntegrationFormField> MapToVerintAddress(Address address, string addressFieldName, string placeRefFieldName, string postcodeFieldName)
        {
            var fields = new List <IntegrationFormField>
            {
                new IntegrationFormField()
                {
                    FormFieldName  = postcodeFieldName,
                    FormFieldValue = address.Postcode
                }
            };

            if (!string.IsNullOrEmpty(address.PlaceRef))
            {
                fields.AddRange(new [] {
                    new IntegrationFormField
                    {
                        FormFieldName  = placeRefFieldName,
                        FormFieldValue = address.PlaceRef
                    },
                    new IntegrationFormField
                    {
                        FormFieldName  = addressFieldName,
                        FormFieldValue = address.SelectedAddress
                    }
                });
            }
            else
            {
                fields.AddRange(new [] {
                    new IntegrationFormField
                    {
                        FormFieldName  = addressFieldName,
                        FormFieldValue = $"{address.AddressLine1}|{address.AddressLine2}|{address.Town}"
                    },
                    new IntegrationFormField
                    {
                        FormFieldName  = placeRefFieldName,
                        FormFieldValue = null
                    }
                });
            }

            return(fields);
        }
コード例 #8
0
        public void MapToVerintAddress_ShouldReturnAddress()
        {
            // Arrange
            var address = new Address
            {
                AddressLine1 = "Line 1",
                AddressLine2 = "Line 2",
                Postcode     = "SK13XE",
                Town         = "Town"
            };

            // Act
            var result = AddressMapper.MapToVerintAddress(address, "address", "placeRef", "postcode");

            // Assert
            Assert.True(result.Exists(_ => _.FormFieldName == "address" && _.FormFieldValue == "Line 1|Line 2|Town"));
            Assert.True(result.Exists(_ => _.FormFieldName == "postcode" && _.FormFieldValue == "SK13XE"));
            Assert.True(result.Exists(_ => _.FormFieldName == "placeRef" && _.FormFieldValue == null));
        }