public async Task Index_Returns_AListOfProducts() { // Arrange mock.Setup(repo => repo.GetAllAsync()).ReturnsAsync(GetSupermarkets()); controller = new SupermarketsController(mock.Object); // Act var result = await controller.Index(); // Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <Supermarket> >(viewResult.ViewData.Model); GetSupermarkets().Should().BeEquivalentTo(model); }
public async void TestSupermarketsIndex() { var option = new DbContextOptionsBuilder <ShoppingContext>().UseInMemoryDatabase(databaseName: "testDB").Options; var context = new ShoppingContext(option); SampleData.Initialize(context); Supermarket[] supermarkets = new Supermarket[] { new Supermarket { Name = "Rozetka", Address = "Petrovka district", Id = 1 }, new Supermarket { Name = "Comfy", Address = "Obolonsky district", Id = 2 }, new Supermarket { Name = "Foxtrot", Address = "Pechercka district", Id = 3 }, new Supermarket { Name = "Allo", Address = "Shevchenka district", Id = 4 }, new Supermarket { Name = "Citrus", Address = "Obolon, Drea Town", Id = 5 }, new Supermarket { Name = "Moyo", Address = "Skymall Troeshina", Id = 6 }, new Supermarket { Name = "Stilus", Address = "Svyatosino", Id = 7 }, }; var supermarketsList = supermarkets.ToList(); var mock = new Mock <SupermarketsService>(context); var controller = new SupermarketsController(mock.Object); var resultView = await controller.Index(); var viewResult = Assert.IsType <ViewResult>(resultView); var model = Assert.IsAssignableFrom <IEnumerable <Supermarket> >(viewResult.Model).OrderBy(p => p.Id).ToList(); for (int i = 0; i < supermarketsList.Count; i++) { Assert.Equal(supermarkets[i].Id, model[i].Id); } }