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 async Task <IActionResult> UpdatePosition(Guid id, [FromBody] UpdateGroceriesPositionCommand updateGroceriesPositionCommand) { var result = _updateGroceriesPositionCommandHandler.Handle(updateGroceriesPositionCommand); return(await Response(result, _updateGroceriesPositionCommandHandler.Notifications)); }