public void Edit_POST_GivenModelStateIsValid_ShouldCallMappingEngine()
        {
            //---------------Set up test pack-------------------
            var itemViewModel = new ItemsViewModelBuilder().WithRandomProps().Build();
            var mappingEngine = Substitute.For<IMappingEngine>();

            var itemsController = CreateItemsControllerBuilder()
                                .WithMappingEngine(mappingEngine)
                                .Build();
            //---------------Assert Precondition----------------
            Assert.IsTrue(itemsController.ModelState.IsValid);
            //---------------Execute Test ----------------------
            var result = itemsController.Edit(itemViewModel);
            //---------------Test Result -----------------------
            mappingEngine.Received().Map<ItemViewModel, Item>(itemViewModel);
        }
        public void Edit_POST_GivenModelStateIsValid_ShouldCallGetByIdFromOrderRepo()
        {
            //---------------Set up test pack-------------------
            var itemsViewModel = new ItemsViewModelBuilder().WithRandomProps().Build();
            var itemsRepository = Substitute.For<IItemsRepository>();
            var itemsController = CreateItemsControllerBuilder()
                               .WithItemsRepository(itemsRepository)
                                .Build();

            //---------------Assert Precondition----------------
            Assert.IsTrue(itemsController.ModelState.IsValid);
            //---------------Execute Test ----------------------
            var result = itemsController.Edit(itemsViewModel);
            //---------------Test Result -----------------------
            itemsRepository.Received().GetById(itemsViewModel.Id);
        }