public async Task AddToBasket_ReturnsLaptopConfigurationList() { // Arrange var mockService = new Mock <ILaptopService>(); mockService.Setup(s => s.AddToBasket(It.IsAny <BasketItem>())) .ReturnsAsync(MockDataProvider.GetBasket()); var controller = new LaptopShopController(mockService.Object); // Act var result = await controller.AddToBasket(It.IsAny <BasketItem>()); // Assert var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <BasketViewModel>(okResult.Value); Assert.NotNull(returnValue); var basketItems = Assert.IsType <List <BasketItems> >(returnValue.BasketItems); var basketItem = basketItems.FirstOrDefault(); Assert.NotNull(basketItem); Assert.NotNull(basketItem.Laptop); Assert.Equal("Dell", basketItem.Laptop.Name); var configurations = Assert.IsType <List <LaptopConfiguration> >(basketItem.LaptopConfigurations); var configuration = configurations.FirstOrDefault(); Assert.NotNull(configuration); Assert.Equal("8GB", configuration.Value); }