public async Task <ActionResult <TeaInventory> > AddItems(TeaInventory teaInventory) { if (ModelState.IsValid) { try { var Id = await teaInventoryRepository.AddItemToInventory(teaInventory); if (Id > 0) { return(Ok(Id)); } else { return(NotFound()); } } catch (Exception) { return(BadRequest()); } } return(BadRequest()); }
public async void Task_Add_ValidData_Return_OkResult() { //Arrange var controller = new TeaInventoryController(repository); var teaInventory = new TeaInventory() { TeaName = "Test Title 3", TeaDescription = "Test Description 3", TeaPrice = "2", CreatedDate = DateTime.Now }; //Act var data = await controller.AddItems(teaInventory); //Assert Assert.IsType <OkObjectResult>(data.Result); }
public async void Task_Add_InvalidData_Return_BadRequest() { //Arrange var controller = new TeaInventoryController(repository); var teaInventory = new TeaInventory() { TeaId = 0, TeaName = "Test Invalid Title", TeaDescription = "Test Description", TeaPrice = "25", CreatedDate = DateTime.Now }; teaInventory.TeaId /= 0; //Act var data = await controller.AddItems(teaInventory); //Assert Assert.IsType <BadRequestResult>(data.Result); }
public async Task <int> AddItemToInventory(TeaInventory teaInventory) { if (db != null) { if (teaInventory.TeaImagePath == null) { teaInventory.TeaImagePath = "Resources//Images//No-image-available.png"; } await db.TeaInventory.AddAsync(teaInventory); await db.SaveChangesAsync(); return(teaInventory.TeaId); } return(0); }
public async void Task_Add_ValidData_MatchResult() { //Arrange var controller = new TeaInventoryController(repository); var teaInventory = new TeaInventory() { TeaName = "Valid Test Title ", TeaDescription = "Valid Test Description", TeaPrice = "92", CreatedDate = DateTime.Now }; //Act var data = await controller.AddItems(teaInventory); //Assert Assert.IsType <OkObjectResult>(data.Result); var okResult = data.Result.Should().BeOfType <OkObjectResult>().Subject; // var result = okResult.Value.Should().BeAssignableTo<PostViewModel>().Subject; Assert.Equal(6, okResult.Value); }