protected override void Establish_context() { var categoryRepository = MockRepository.GenerateMock<ICategoryRepository>(); _sut = new SettingsValidator(categoryRepository); categoryRepository.Stub(x => x.Exists(null)) .IgnoreArguments() .Return(false); _settings = new Settings { CategoryName = "talk category", YearQueryString = "year query string", CreateTargetCategoryAndFields = false }; }
protected override void Because() { Settings = new Settings { CategoryName = "talk category", YearQueryString = "year query string", CreateTargetCategoryAndFields = false, MigrateFieldValues = false, Date = "date", Speaker = "speaker" }; }
public override StatusType SetValues(HttpContext context, NameValueCollection nvc) { IMemento oldState; IMemento newState; Settings settings = new Settings(); _settingsMapper.Map(nvc, settings); try { var validation = _settingsValidator.Validate(settings).Interpret(); if (validation.Failed) { SetMessage(context, validation.Message); return validation.StatusType; } // Write back. oldState = CreateMemento(); CategoryName = settings.CategoryName; DateField = settings.Date; SpeakerField = settings.Speaker; YearQueryString = settings.YearQueryString; newState = CreateMemento(); } catch (Exception ex) { SetMessage(context, String.Format("Error: {0}", ex.Message)); return StatusType.Error; } try { EnableEventHandlers = false; PluginMigrator.MigrateSettings(settings.CreateTargetCategoryAndFields, settings.MigrateFieldValues, newState, oldState); return StatusType.Success; } catch (Exception ex) { SetMessage(context, String.Format("Error while migrating category and fields: {0}", ex.Message)); return StatusType.Error; } finally { EnableEventHandlers = true; } }