public async Task GetRestaurantByIdAsyncTest() { IActionResult result = await _mockRestaurantController.Get(1); Assert.IsNotNull(((Restaurant)((OkObjectResult)result).Value)); Assert.AreEqual(1, ((Restaurant)((OkObjectResult)result).Value).RestaurantID); }
public async Task RetrievesRestaurants_ByOutCode() { const string outcode = "some outcode"; _mockQueryRestaurant.Setup(x => x.GetAsync(outcode)).ReturnsAsync(new RestaurantResults()).Verifiable(); await _controller.Get(outcode); _mockQueryRestaurant.Verify(); }
public void Get_ExplicitParams_ReturnsList() { IEnumerable <Restaurant> expected = new List <Restaurant> { new Restaurant { Id = 1, Name = "test" }, new Restaurant { Id = 2, Name = "test2" } }; var restaurantRepository = new Mock <IRestaurantRepository>(); DbFilter <Restaurant> actualFilter = null; restaurantRepository.Setup(x => x.GetRestaurantsAsync(3, 2, It.IsAny <DbFilter <Restaurant> >())) .Callback <int, int, DbFilter <Restaurant> >((page, pagesize, filter) => { actualFilter = filter; }) .Returns(Task.FromResult(expected)); var sut = new RestaurantsController(restaurantRepository.Object); var actual = sut.Get(3, 2, "TestCity").Result; Assert.AreEqual(expected, actual); Assert.IsNotNull(actualFilter); Assert.AreEqual("City", actualFilter.Field); Assert.AreEqual(OperatorEnum.Equal, actualFilter.Operator); Assert.AreEqual("TestCity", actualFilter.Value); restaurantRepository.VerifyAll(); }
public void GetTest_RejectsInValid() { //Arrange var RC = new RestaurantsController(connection); //Act var result = RC.Get("HocusPocus"); //Assert Assert.IsType <NotFoundObjectResult>(result); }
public void GetTest_ReturnsValid() { //Arrange var RC = new RestaurantsController(connection); //Act var result = RC.Get("Boston"); //Assert Assert.IsType <OkObjectResult>(result); }
public void GetAllRestaurants_ServerException_InternalError() { //arrange MockIdentity.Setup(m => m.GetRequestingUserId()).Throws(new Exception()); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(); // assert Assert.IsInstanceOfType(actionResult, typeof(InternalServerErrorResult)); }
public void GetAllRestaurants_OneRestaurnat_OK() { //arrange var restID = 1234; var cuisineName = "Mexican"; var cuisineId = 10; var restName = "No1 Mexican Restaurant"; var createdUser = 10; var expectedCollectionCount = 1; var cuisine = new Cuisine { Name = cuisineName, Id = cuisineId, CreatedBy = createdUser, UpdatedBy = createdUser }; var expectedResponse = new[] { new API.ViewModels.Restaurant { Id = restID, AverageRating = 0, CuisineName = cuisineName, CuisineId = cuisineId, Name = restName, ReviewCount = 0 } }; var repoResonse = new[] { new Restaurant { Id = restID, CreatedBy = createdUser, UpdatedBy = createdUser, Cuisine = cuisine, Name = restName } }; MockRepository.Setup(m => m.GetAllRestaurantsWithReview()).Returns(repoResonse); MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(); var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Restaurant> >; //assert Assert.IsNotNull(contentResult, "Ok-200 status was not returned"); Assert.IsNotNull(contentResult.Content, "No content was returned"); ValidateRestaurantCollectionResponse(contentResult.Content, expectedResponse, expectedCollectionCount); }
public void RestaurantGetByID_InvalidRestaurantID_NotFound() { //arrange var restID = 600; var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(restID); // assert Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public void Get_ReturnsAllRestaurantsFromRepository() { var allRestaurants = new List <Restaurant> { new RestaurantBuilder().Build() }; _repo.Setup(repo => repo.GetAll()).Returns(allRestaurants); var returnedRestaurants = _controller.Get(); _repo.Verify(repo => repo.GetAll(), Times.Once); Assert.That(returnedRestaurants, Is.EquivalentTo(allRestaurants)); }
public void GetAllRestaurants_DatabaseException_BadData() { //arrange MockRepository.Setup(m => m.GetAllRestaurantsWithReview()).Throws(new Exception()); MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(); // assert Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult)); }
public void DeleteRestaurant_ServerException_InternalError() { //arrange var RestIdToDelete = 555; MockRepository.Setup(m => m.DoseRestaurentIdExist(RestIdToDelete)).Returns(true); MockIdentity.Setup(m => m.GetRequestingUserId()).Throws(new Exception()); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(RestIdToDelete); // assert Assert.IsInstanceOfType(actionResult, typeof(InternalServerErrorResult)); }
public void Get_CallsRepository_ReturnsRestaurant() { var expected = new Restaurant { Id = 1, Name = "test" }; var restaurantRepository = new Mock <IRestaurantRepository>(); restaurantRepository.Setup(x => x.GetRestaurantAsync(123)).Returns(Task.FromResult <Restaurant>(expected)); var sut = new RestaurantsController(restaurantRepository.Object); var actual = sut.Get(123).Result; Assert.AreEqual(expected, actual); restaurantRepository.VerifyAll(); }
public void Get_DefaultParams_ReturnsList() { IEnumerable <Restaurant> expected = new List <Restaurant> { new Restaurant { Id = 1, Name = "test" }, new Restaurant { Id = 2, Name = "test2" } }; var restaurantRepository = new Mock <IRestaurantRepository>(); restaurantRepository.Setup(x => x.GetRestaurantsAsync(1, 1000, null)).Returns(Task.FromResult <IEnumerable <Restaurant> >(expected)); var sut = new RestaurantsController(restaurantRepository.Object); var actual = sut.Get(null, null, null).Result; Assert.AreEqual(expected, actual); restaurantRepository.VerifyAll(); }
public void GetAllRestaurants_NoRestaurnats_Empty() { //arrange var expectedResponse = new API.ViewModels.Restaurant[] { }; var expectedCollectionCount = 0; var repoResonse = new Restaurant[] { }; MockRepository.Setup(m => m.GetAllRestaurantsWithReview()) .Returns(repoResonse); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10); //act var actionResult = ctrl.Get(); var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Restaurant> >; //assert Assert.IsNotNull(contentResult, "Ok-200 status was not returned"); Assert.IsNotNull(contentResult.Content, "No content was returned"); ValidateRestaurantCollectionResponse(contentResult.Content, expectedResponse, expectedCollectionCount); }
public void GetRestaurantsTest() { Assert.IsInstanceOf <List <RestaurantDto> >(_restaurantsController.Get().Value); }
public void RestaurantGetByID_ValidRestaurantID_OK() { //arrange var restID = 555; var cuisineName = "Mexican"; var cuisineId = 10; var restName = "No1 Mexican Restaurant"; var createdUser = 10; var cuisine = new Cuisine { Name = cuisineName, Id = cuisineId, CreatedBy = createdUser, UpdatedBy = createdUser }; var expectedResponse = new API.ViewModels.Restaurant { Id = restID, AverageRating = 3, CuisineName = cuisineName, CuisineId = cuisineId, Name = restName, ReviewCount = 100 }; var repoResonse = new Restaurant { Id = restID, CreatedBy = createdUser, UpdatedBy = createdUser, Cuisine = cuisine, Name = restName }; //restaurant 4 setup for (var i = 0; i < 100; i++) { var newReview = new Review { CreatedBy = createdUser, UpdatedBy = createdUser, Comment = $"Comment {i} for Restaurant 555", Rating = (i % 5) + 1, PostedDateTime = new DateTime(2016, 07, 1).AddDays(i + 1), ReviewNumber = 4 + i, ReviewUser = new User { Id = createdUser, UserName = "******" } }; // 0+1 to 4+1 repoResonse.AddReview(newReview); } MockRepository.Setup(m => m.GetRestaurantWithReviewsById(restID)).Returns(repoResonse); MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10); var ctrl = new RestaurantsController(MockRepository.Object, MockLogger.Object, MockIdentity.Object); //act var actionResult = ctrl.Get(restID); var contentResult = actionResult as OkNegotiatedContentResult <API.ViewModels.Restaurant>; //assert Assert.IsNotNull(contentResult, "Ok-200 status was not returned"); Assert.IsNotNull(contentResult.Content, "No content was returned"); ValidateRestaurantResponse(expectedResponse, contentResult.Content); }