public async void Create_ExistedID_ReturnViewResultSupermarket(int id) { var product = new Supermarket { Name = "Rozetka2", Address = "Petrovka district2", Id = id }; var option = new DbContextOptionsBuilder <ShoppingContext>(). UseInMemoryDatabase(databaseName: "testsCreate3").Options; var context = new ShoppingContext(option); SampleData.Initialize(context); var mock = new Mock <SupermarketsService>(context); var controller = new SupermarketsController(mock.Object); var resultView = await controller.Create(product); var viewResult = Assert.IsType <RedirectToActionResult>(resultView); var actionName = Assert.IsAssignableFrom <string>(viewResult.ActionName); var resultViewDetails = await controller.Details(id); var viewResultDetails = Assert.IsType <ViewResult>(resultViewDetails); var model = Assert.IsAssignableFrom <Supermarket>(viewResultDetails.Model); Assert.Equal("Index", actionName); Assert.Equal(model, product); }
public async Task Create_ProductReturns_ViewResult() { Supermarket newProduct = new Supermarket(); mock = new Mock <ISupermarkets>(); mock.Setup(repo => repo.AddAsync(newProduct)).Throws(new Exception()); controller = new SupermarketsController(mock.Object); controller.ModelState.AddModelError("Name", "Required"); var result = await controller.Create(newProduct); var viewResult = Assert.IsType <ViewResult>(result); }
public async Task Details_Returns_BadRequestResult() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock.Setup(repo => repo.GetByIdAsync(id)).Throws(new Exception()); controller = new SupermarketsController(mock.Object); //Act var result = await controller.Details(id); //Assert var badRequestResult = Assert.IsType <BadRequestResult>(result); }
public async Task Delete_Returns_ProductInfoForDeleting() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock.Setup(repo => repo.DeleteAsync(market.Id)).Throws(new Exception()); controller = new SupermarketsController(mock.Object); //Act var result = await controller.Delete(market.Id); //Assert var viewResult = Assert.IsType <ViewResult>(result); }
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 Task Delete_Returns_RedirectToActionResult() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock.Setup(repo => repo.DeleteAsync(market.Id)); controller = new SupermarketsController(mock.Object); //Act var result = await controller.Delete(market.Id); //Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); }
public async void Details_ExistedId_ReturnViewResultProduct(int a) { var option = new DbContextOptionsBuilder <ShoppingContext>().UseInMemoryDatabase(databaseName: "testDB").Options; var context = new ShoppingContext(option); SampleData.Initialize(context); var mock = new Mock <SupermarketsService>(context); var controller = new SupermarketsController(mock.Object); var resultView = await controller.Details(a); var viewResult = Assert.IsType <ViewResult>(resultView); var model = Assert.IsAssignableFrom <Supermarket>(viewResult.Model); Assert.Equal(a, model.Id); }
public async Task Edit_Returns_ProductInfoForEditing() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock .Setup(repo => repo.GetByIdAsync(market.Id)).ReturnsAsync(market); controller = new SupermarketsController(mock.Object); //Act var result = await controller.Edit(market.Id); //Assert var viewResult = Assert.IsType <ViewResult>(result); }
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); } }
public async Task Details_Returns_ViewResult_ProductByID() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock.Setup(repo => repo.GetByIdAsync(id)).ReturnsAsync(market); controller = new SupermarketsController(mock.Object); //Act var result = await controller.Details(id); //Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <Supermarket>(viewResult.ViewData.Model); market.Should().BeEquivalentTo(model); }
public async Task Create_ProductReturns_RedirectToActionResult() { mock = new Mock <ISupermarkets>(); controller = new SupermarketsController(mock.Object); Supermarket newProduct = new Supermarket { Name = "Bread", Address = "lol" }; var result = await controller.Create(newProduct); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("Index", redirectToActionResult.ActionName); mock.Verify(r => r.AddAsync(newProduct)); }
public async Task DeletePOST_Returns_RedirectToActionResult() { int id = 4; var market = GetSupermarkets().FirstOrDefault(p => p.Id == id); //Arrange mock.Setup(repo => repo.DeleteAsync(market.Id)); controller = new SupermarketsController(mock.Object); //Act var result = await controller.DeleteConfirmed(market.Id); //Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("Index", redirectToActionResult.ActionName); mock.Verify(r => r.DeleteAsync(market.Id)); }