Пример #1
0
        public void UpdateGroceriesPositionElementShouldMoveToCorrectPosition()
        {
            var _mock   = MockRepository.GenerateMock <IGroceriesRepository>();
            var command = new UpdateGroceriesPositionCommand(Guid.NewGuid(), 0);

            _mock.Expect(x => x.GetAll()).Return(new List <Groceries>()
            {
                new Groceries(Guid.NewGuid(), "Test1", 10, Unity.Grams, Category.Bakery),
                new Groceries(Guid.NewGuid(), "Test2", 20, Unity.Liters, Category.Bakery),
                new Groceries(command.Id, "Test3", 30, Unity.Unity, Category.Beverages) //Selected element to move.
            });

            UpdateGroceriesPositionCommandHandler handler = new UpdateGroceriesPositionCommandHandler(_mock);
            var g = handler.Handle(command);

            Assert.AreEqual(handler.Notifications.Count, 0);
            //Verify the new position of the element in the array.
            SearchGroceriesCommand        s             = new SearchGroceriesCommand();
            SearchGroceriesCommandHandler handlerSearch = new SearchGroceriesCommandHandler(_mock);
            SearchGroceriesCommandResult  groceries     = (SearchGroceriesCommandResult)handlerSearch.Handle(s);
            var grocery = groceries.GroceriesList.FirstOrDefault(x => x.Id == command.Id);
            var index   = groceries.GroceriesList.ToList().LastIndexOf(grocery);

            Assert.AreEqual(index, command.Position);
        }
 public GroceriesController(RegisterGroceriesCommandHandler registerGroceriesCommandHandler,
                            UpdateGroceriesCommandHandler updateGroceriesCommandHandler,
                            DeleteGroceriesCommandHandler deleteGroceriesCommandHandler,
                            SearchGroceriesCommandHandler searchGroceriesCommandHandler,
                            GetGroceriesCommandHandler getGroceriesCommandHandler,
                            UpdateGroceriesPositionCommandHandler updateGroceriesPositionCommandHandler)
 {
     _registerGroceriesCommandHandler       = registerGroceriesCommandHandler;
     _updateGroceriesCommandHandler         = updateGroceriesCommandHandler;
     _deleteGroceriesCommandHandler         = deleteGroceriesCommandHandler;
     _searchGroceriesCommandHandler         = searchGroceriesCommandHandler;
     _getGroceriesCommandHandler            = getGroceriesCommandHandler;
     _updateGroceriesPositionCommandHandler = updateGroceriesPositionCommandHandler;
 }