public async Task Delete_FoodDoesntExist_ShouldReturnNotFound() { Fixture fixture = new Fixture(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByIdAsync(It.IsAny <int>())).ReturnsAsync((Food)null); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.DeleteAsync(fixture.Create <int>()) as NotFoundResult; Assert.IsNotNull(typedResult); }
public async Task Delete_FoodExistsAndDeletionSucceeds_ShouldReturnOk() { Fixture fixture = new Fixture(); var foodId = fixture.Create <int>(); var food = fixture.Build <Food>().With(f => f.Id, foodId).Create(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByIdAsync(foodId)).ReturnsAsync(food); foodRepositoryStub.Setup(obj => obj.DeleteAsync(foodId)).Returns(Task.CompletedTask); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.DeleteAsync(foodId) as OkResult; Assert.IsNotNull(typedResult); }
public async Task Delete_FoodExistsAndDeletionSucceeds_ShouldDeleteFood() { Fixture fixture = new Fixture(); var foodId = fixture.Create <int>(); var food = fixture.Build <Food>().With(f => f.Id, foodId).Create(); var foodRepositoryMock = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryMock.Setup(obj => obj.FindByIdAsync(foodId)).ReturnsAsync(food); foodRepositoryMock.Setup(obj => obj.DeleteAsync(foodId)).Returns(Task.CompletedTask); foodRepositoryMock.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); FoodsController controller = new FoodsController(foodRepositoryMock.Object); await controller.DeleteAsync(foodId); foodRepositoryMock.Verify(obj => obj.DeleteAsync(foodId)); }