public async Task GetFruitById_ReturnsCorrectFruit_WhenFruitIsFound() { int fruitId = 1; var fruit = new Fruit { FruitId = fruitId, Name = "Apple" }; var mockRepo = new Mock <IFruitService>(); mockRepo .Setup(t => t.GetFruitAsync(fruitId)) .Returns(Task.FromResult(fruit)); var controller = new FruitController(mockRepo.Object); // Act var result = await controller.GetAsync(fruitId : fruitId); // Assert var resultFruit = (result as OkObjectResult).Value as FruitViewModel; Assert.NotNull(resultFruit); Assert.Equal(resultFruit.Name, fruit.Name); Assert.Equal(resultFruit.FruitId, fruit.FruitId); }
public async Task GetFruitById_ReturnsNotFound_WhenFruitIsNotFound() { int fruitId = 1; var mockRepo = new Mock <IFruitService>(); mockRepo .Setup(t => t.GetFruitAsync(fruitId)) .Returns(Task.FromResult <Fruit>(null)); var controller = new FruitController(mockRepo.Object); // Act var result = await controller.GetAsync(fruitId : fruitId); // Assert Assert.IsType <NotFoundResult>(result); }
public async Task GetFruitById_ReturnsOkResult_WhenFruitIsFound() { int fruitId = 1; var fruit = new Fruit { FruitId = fruitId, Name = "Apple" }; var mockRepo = new Mock <IFruitService>(); mockRepo .Setup(t => t.GetFruitAsync(fruitId)) .Returns(Task.FromResult(fruit)); var controller = new FruitController(mockRepo.Object); // Act var result = await controller.GetAsync(fruitId : fruitId); // Assert Assert.IsType <OkObjectResult>(result); }