public void Save_AddsErrorsToTempData()
        {
            //Given
            TempDataErrorCollector collector = GetCollector();

            List <ValidationError> errors = new List <ValidationError>()
            {
                new ValidationError()
                {
                    PropertyName = "MyProperty1",
                    Message      = "MyMessage1"
                },
                new ValidationError()
                {
                    PropertyName = "MyProperty2",
                    Message      = "MyMessage2"
                }
            };

            //When
            collector.AddErrors(errors);
            collector.Save();
            //Then
            Assert.Single(createdTempData);
            Assert.True(createdTempData.ContainsKey(Constants.tempDataErrorDictionaryName));
            List <ValidationError> deserializedErrors = JsonConvert.DeserializeObject <List <ValidationError> >(createdTempData[Constants.tempDataErrorDictionaryName].ToString());

            Assert.Equal(errors.Count, deserializedErrors.Count);
            Assert.Equal(errors[0].PropertyName, deserializedErrors[0].PropertyName);
            Assert.Equal(errors[0].Message, deserializedErrors[0].Message);
            Assert.Equal(errors[1].PropertyName, deserializedErrors[1].PropertyName);
            Assert.Equal(errors[1].Message, deserializedErrors[1].Message);
        }
        public void AddError_AddsErrorToList()
        {
            //Given
            TempDataErrorCollector collector = GetNonSetupCollector();

            //When
            collector.AddError(new ValidationError());
            //Then
            Assert.Equal(1, collector.Count);
        }
        public void Save_WhenNoErrors_DoesNotAddErrorsToTempData()
        {
            //Given
            TempDataErrorCollector collector = GetCollector();

            //When
            collector.Save();
            //Then
            Assert.Null(createdTempData);
        }
        public void AddErrors_AddsErrorsToList()
        {
            TempDataErrorCollector collector = GetNonSetupCollector();
            List <ValidationError> errors    = new List <ValidationError>()
            {
                new ValidationError(), new ValidationError()
            };

            //When
            collector.AddErrors(errors);
            //Then
            Assert.Equal(errors.Count, collector.Count);
        }