public void shouldAddCategoryToSystem()
 {
     CategoryRepository repository = new CategoryRepository();
     var interaction = new AddCategoryInteraction<RAMRepository.CategoryRepository>(new Interactions.RequestModels.AddCategory { Name = CategoryName }, repository);
     interaction.performAction();
     var response = interaction.ResponseModel;
     Assert.IsFalse(response.Error.HasValue);
     Assert.IsTrue(repository.Exists(CategoryName));
 }
 public void shouldCheckForBogusName()
 {
     CategoryRepository repository = new CategoryRepository();
     var interaction = new AddCategoryInteraction<RAMRepository.CategoryRepository>(new Interactions.RequestModels.AddCategory { Name = "Ga$" }, repository);
     interaction.performAction();
     var response = interaction.ResponseModel;
     Assert.IsTrue(response.Error.HasValue);
     Assert.AreEqual<Interactions.ResponseModels.Error.Codes>(response.Error.Value.Code, Interactions.ResponseModels.Error.Codes.CATEGORY_BOGUS_NAME);
 }
 public void shouldNotAlreadyExist()
 {
     CategoryRepository repository = new CategoryRepository();
     repository.Add(new Entities.Category {Name = CategoryName});
     var interaction = new AddCategoryInteraction<RAMRepository.CategoryRepository>(new Interactions.RequestModels.AddCategory { Name = CategoryName }, repository);
     interaction.performAction();
     var response = interaction.ResponseModel;
     Assert.IsTrue(response.Error.HasValue);
     Assert.AreEqual<Interactions.ResponseModels.Error.Codes>(response.Error.Value.Code, Interactions.ResponseModels.Error.Codes.CATEGORY_ALREADY_EXISTS);
 }
        public ActionResult Create(FormCollection collection)
        {
            var interaction = new AddCategoryInteraction(new Interactions.RequestModels.AddCategory { Name = Request.Form["Name"] });
            interaction.performAction();
            var response = interaction.ResponseModel;
            if (response.Error.HasValue)
            {
                return RedirectToAction("Index", "Home").Error(response.Error.Value.Message).Error(response.Error.Value.Message);

            }

            return RedirectToAction("Index", "Home").Success("Category Added Successfully!");
        }