public ActionResult Edit(ItemViewModel viewModel) { try { var item = _mappingEngine.Map<Item>(viewModel); _itemRepository.Save(item); return RedirectToAction("Index"); } catch { return View(); } }
public void Details_GivenItemId_ShouldReturnViewWithMapModel() { //---------------Set up test pack------------------- var item = new ItemBuilder().WithRandomProps().Build(); var id = item.Id; var repository = Substitute.For<IItemRepository>(); repository.Get(id).Returns(item); var mappingEngine = Substitute.For<IMappingEngine>(); var itemViewModels = new ItemViewModel {Id= RandomValueGen.GetRandomInt()}; mappingEngine.Map< ItemViewModel > (item).Returns(itemViewModels); var controller = CreateBuilder() .WithItemRepository(repository) .WithMappingEngine(mappingEngine) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = controller.Details(id)as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); var model = result.Model as ItemViewModel; Assert.IsNotNull(model); }
public ActionResult Create(ItemViewModel viewModel) { var borrower = _mappingEngine.Map<Item>(viewModel); _itemRepository.Save(borrower); return RedirectToAction("Index"); }
// GET: Item/Create public ActionResult Create() { var viewModel = new ItemViewModel(); return View(viewModel); }
public void Delete_GivenExceptionWhenRepositoryDeleteIsCalled_ShouldReturnView() { //---------------Set up test pack------------------- var itemViewModel = new ItemViewModel(); var itemRepository = Substitute.For<IItemRepository>(); itemRepository.When(repository => repository.Delete(Arg.Any<Item>())) .Throw<ApplicationException>(); var borrowerController = CreateBuilder() .WithItemRepository(itemRepository) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = borrowerController.Delete(itemViewModel) as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); }
public void Delete_GivenBorrowerViewModel_ShouldRedirectToIndexAfterDelete() { //---------------Set up test pack------------------- var itemViewModel = new ItemViewModel(); var itemController = CreateBuilder() .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = itemController.Delete(itemViewModel) as RedirectToRouteResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); }
public void Edit_GivenValidItemId_ShouldReturnItemViewModel() { //---------------Set up test pack------------------- var items = new ItemBuilder().WithRandomProps().Build(); var Id = items.Id; var repository = Substitute.For<IItemRepository>(); var mappingEngine = Substitute.For<IMappingEngine>(); var itemViewModel = new ItemViewModel {Id = RandomValueGen.GetRandomInt()}; mappingEngine.Map<Item>(itemViewModel).Returns(items); var itemController = CreateBuilder().WithItemRepository(repository).WithMappingEngine(mappingEngine).Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = itemController.Edit(Id) as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); }
public void Create_POST_ShouldCallSaveAndRedirectToIndex() { //---------------Set up test pack------------------- var items = new ItemBuilder().WithRandomProps().Build(); var repository = Substitute.For<IItemRepository>(); var mappingEngine = Substitute.For<IMappingEngine>(); var itemViewModel = new ItemViewModel(); mappingEngine.Map<Item>(itemViewModel).Returns(items); var itemController = CreateBuilder().WithItemRepository(repository).WithMappingEngine(mappingEngine).Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = itemController.Create(itemViewModel) as RedirectToRouteResult; //---------------Test Result ----------------------- repository.Received().Save(items); Assert.IsNotNull(result); var actionName = result.RouteValues["action"]; Assert.AreEqual("Index", actionName); }