public async Task Post_CreationSucceeds_ShouldReturnCreatedFoodLocation() { Fixture fixture = new Fixture(); var food = fixture.Create <Food>(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.SetupSequence(obj => obj.FindByDescriptionAsync(It.IsAny <string>())) .ReturnsAsync(null) .ReturnsAsync(food); foodRepositoryStub.Setup(obj => obj.Create(food)); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); var locationUrl = "http://location/"; var urlHelperStub = new Mock <UrlHelper>(MockBehavior.Strict); urlHelperStub.Setup(obj => obj.Link(It.IsAny <string>(), It.IsAny <object>())).Returns(locationUrl); FoodsController controller = new FoodsController(foodRepositoryStub.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); controller.Url = urlHelperStub.Object; var typedResult = await controller.PostAsync(food) as CreatedNegotiatedContentResult <Food>; Assert.AreSame(locationUrl, typedResult.Location.AbsoluteUri); }
public void Delete_return_bad_test() { FoodsController controller = GetController(doNotThrowException); var response = controller.Delete("Invalid_food").GetType().Name; Assert.AreEqual(response, "NotFoundObjectResult"); }
public async Task Post_CreationSucceeds_ShouldReturnCreatedFood() { Fixture fixture = new Fixture(); var food = fixture.Create <Food>(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.SetupSequence(obj => obj.FindByDescriptionAsync(It.IsAny <string>())) .ReturnsAsync(null) .ReturnsAsync(food); foodRepositoryStub.Setup(obj => obj.Create(food)); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); var urlHelperStub = new Mock <UrlHelper>(); urlHelperStub.Setup(obj => obj.Link(It.IsAny <string>(), It.IsAny <object>())).Returns(string.Empty); FoodsController controller = new FoodsController(foodRepositoryStub.Object); controller.Url = urlHelperStub.Object; var typedResult = await controller.PostAsync(food) as CreatedNegotiatedContentResult <Food>; Assert.IsNotNull(typedResult); Assert.AreSame(food, typedResult.Content); }
public void Delete_return_ok_test() { FoodsController controller = GetController(doNotThrowException); var response = controller.Delete("Registered_food").GetType().Name; Assert.AreEqual(response, "OkObjectResult"); }
public void Delete_catchExeception() { FoodsController controller = GetController(throwException); var response = controller.Delete("Registered_food") as BadRequestObjectResult; var message = response.Value.GetType().Name; Assert.AreEqual("Exception", message); }
public void GetAll_return_all_categories() { FoodsController controller = GetController(doNotThrowException); var result = controller.GetAll() as OkObjectResult; var value = result.Value as FoodsResponse; Assert.AreEqual(value.Foods.Count, 2); }
public void GetByName_return_food() { FoodsController controller = GetController(doNotThrowException); var result = controller.GetByName("test_food_name") as OkObjectResult; FoodsResponse response = result.Value as FoodsResponse; Assert.IsNotNull(response.Foods[0]); }
public void GetByName_catch_exception() { FoodsController controller = GetController(throwException); var result = controller.GetByName("test_food_name") as BadRequestObjectResult; var message = result.Value.GetType().Name; Assert.AreEqual(message, "Exception"); }
public void CreateFood_return_bad_test() { FoodsController controller = GetController(doNotThrowException); EditedFood food = GetInvalidFood(); var response = controller.CreateFood(food); Assert.AreEqual("NotFoundObjectResult", response.GetType().Name); }
public void Update_return_bad_test() { FoodsController controller = GetController(doNotThrowException); EditedFood editedFood = GetInvalidFood(); var response = controller.Update(editedFood).GetType().Name; Assert.AreEqual(response, "NotFoundObjectResult"); }
public void CreateFood_CatchException_test() { FoodsController controller = GetController(throwException); EditedFood food = GetFood(); var response = controller.CreateFood(food) as BadRequestObjectResult; var message = response.Value.GetType().Name; Assert.AreEqual("Exception", message); }
void Awake() { loaded = false; if (socket == null) { ter = GetComponent <CreateTerrainMesh>(); obs = GetComponent <ObstaclesController>(); foods = GetComponent <FoodsController>(); socket = GetComponent <EESocketIOComponent>(); } }
public FoodsControllerTests() { _repository = new Mock <IFoodRepository>(); _urlHelper = new Mock <IUrlHelper>(); _controller = new FoodsController(_urlHelper.Object, _repository.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() } }; }
public async Task GetById_FoodDoesntExist_ShouldReturnNotFound() { Fixture fixture = new Fixture(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByIdAsync(It.IsAny <int>())).ReturnsAsync((Food)null); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.GetAsync(fixture.Create <int>()) as NotFoundResult; Assert.IsNotNull(typedResult); }
public async Task Post_CreatingDuplicate_ShouldReturnConflict() { Fixture fixture = new Fixture(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByDescriptionAsync(It.IsAny <string>())).ReturnsAsync(fixture.Create <Food>()); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.PostAsync(fixture.Create <Food>()) as ConflictResult; Assert.IsNotNull(typedResult); }
public async Task Get_ShouldReturnAllFoundFoods() { Fixture fixture = new Fixture(); var foods = fixture.CreateMany <Food>(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.GetAllAsync()).ReturnsAsync(foods); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var result = await controller.GetAsync(); CollectionAssert.AreEqual(foods, result); }
public async Task Post_CreationFails_ShouldReturnBadRequest() { Fixture fixture = new Fixture(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByDescriptionAsync(It.IsAny <string>())).ReturnsAsync((Food)null); foodRepositoryStub.Setup(obj => obj.Create(It.IsAny <Food>())); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()).Throws <RepositoryException>(); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.PostAsync(fixture.Create <Food>()) as BadRequestResult; Assert.IsNotNull(typedResult); }
public async Task Delete_FoodExistsAndDeletionSucceeds_ShouldDeleteFood() { Fixture fixture = new Fixture(); var foodId = fixture.Create <int>(); var food = fixture.Build <Food>().With(f => f.Id, foodId).Create(); var foodRepositoryMock = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryMock.Setup(obj => obj.FindByIdAsync(foodId)).ReturnsAsync(food); foodRepositoryMock.Setup(obj => obj.DeleteAsync(foodId)).Returns(Task.CompletedTask); foodRepositoryMock.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); FoodsController controller = new FoodsController(foodRepositoryMock.Object); await controller.DeleteAsync(foodId); foodRepositoryMock.Verify(obj => obj.DeleteAsync(foodId)); }
public async Task Delete_FoodExistsAndDeletionSucceeds_ShouldReturnOk() { Fixture fixture = new Fixture(); var foodId = fixture.Create <int>(); var food = fixture.Build <Food>().With(f => f.Id, foodId).Create(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByIdAsync(foodId)).ReturnsAsync(food); foodRepositoryStub.Setup(obj => obj.DeleteAsync(foodId)).Returns(Task.CompletedTask); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()).Returns(Task.CompletedTask); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.DeleteAsync(foodId) as OkResult; Assert.IsNotNull(typedResult); }
public async Task GetById_FoodExists_ShouldReturnFoundFood() { Fixture fixture = new Fixture(); var foodId = fixture.Create <int>(); var food = fixture.Build <Food>().With(f => f.Id, foodId).Create(); var foodRepositoryStub = new Mock <IFoodRepository>(MockBehavior.Strict); foodRepositoryStub.Setup(obj => obj.FindByIdAsync(foodId)).ReturnsAsync(food); foodRepositoryStub.Setup(obj => obj.SaveChangedAsync()); FoodsController controller = new FoodsController(foodRepositoryStub.Object); var typedResult = await controller.GetAsync(foodId) as OkNegotiatedContentResult <Food>; Assert.IsNotNull(typedResult); Assert.AreSame(food, typedResult.Content); }
public void Food_crud_test() { using (ApplicationDbContext context = new ApplicationDbContext(builder.Options)) { //Steps to ensure sqlite database exist context.Database.OpenConnection(); context.Database.EnsureCreated(); //Create foods api controller var foods_api = new FoodsController(context); //Use api controller and get list of foods. Task <ActionResult <IEnumerable <Food> > > testGetAll = foods_api.GetFoods(); //Test to see if list is empty before entry Assert.Empty(testGetAll.Result.Value); //Create food test object Food testFood = new Food(); testFood.Id = "123"; testFood.Name = "Test1"; //Post food to using api controller Task <ActionResult <Food> > testPost = foods_api.PostFood(testFood); //Use api controller and get list of foods. testGetAll = foods_api.GetFoods(); //Test to see if list count is 1 Assert.Single(testGetAll.Result.Value); //Test to see if data is correct Assert.Equal("Test1", testGetAll.Result.Value.Where(f => f.Id == "123").First().Name); //Get food by id Task <ActionResult <Food> > testGet = foods_api.GetFood("123"); //Test to see if return data is correct Assert.Equal("Test1", testGet.Result.Value.Name); //Change food name testFood.Name = "Test2"; //Get food by id Task <IActionResult> testPut = foods_api.PutFood("123", testFood); //Get food by id testGet = foods_api.GetFood("123"); //Test to see if return data is correct Assert.Equal("Test2", testGet.Result.Value.Name); //Delete the test food Task <ActionResult <Food> > testDelete = foods_api.DeleteFood("123"); //Use api controller and get list of foods. testGetAll = foods_api.GetFoods(); //Test to see if list is empty before entry Assert.Empty(testGetAll.Result.Value); } }
public FoodControllerSpecs() { this.controller = new FoodsController(); }
public ControllerTests() { _mockApp = new Mock <ApplicationDbContext>(); _foodsController = new FoodsController(_mockApp.Object); }