Exemple #1
0
        public void CanBuildRehydratedOptionSettingsItem()
        {
            // ARRANGE
            var expectedValidator = new RequiredValidator
            {
                ValidationFailedMessage = "Custom Test Message"
            };

            var optionSettingItem = new OptionSettingItem("id", "name", "description")
            {
                Name       = "Test Item",
                Validators = new List <OptionSettingItemValidatorConfig>
                {
                    new OptionSettingItemValidatorConfig
                    {
                        ValidatorType = OptionSettingItemValidatorList.Required,
                        Configuration = expectedValidator
                    }
                }
            };

            var json = JsonConvert.SerializeObject(optionSettingItem, Formatting.Indented);

            var deserialized = JsonConvert.DeserializeObject <OptionSettingItem>(json);

            // ACT
            var validators = deserialized.BuildValidators();

            // ASSERT
            validators.Length.ShouldEqual(1);
            validators.First().ShouldBeType(expectedValidator.GetType());
            validators.OfType <RequiredValidator>().First().ValidationFailedMessage.ShouldEqual(expectedValidator.ValidationFailedMessage);
        }