public async Task <bool> EditCategoryExpense(Models.CategoryExpense categoryExpenseRequest, int id) { // Get stock item by id var categoryExpenseFromDB = await _categoryExpenseRepository.GetAsync(id); // Validate if entity exists if (categoryExpenseFromDB == null) { return(false); } // Set changes to entity //TODO, check this, search better approach... if (categoryExpenseRequest != null && categoryExpenseRequest.Description != null && categoryExpenseRequest.Description.Trim().Length != 0) { categoryExpenseFromDB.Description = categoryExpenseRequest.Description; } if (!await _categoryExpenseRepository.SaveAsync()) { // _logger.LogError($"Add User is not valid. Error in SaveAsync(). When accessing to UserController/Post"); return(false); } return(true); }
public async Task <IActionResult> Edit(int id, [FromBody] Models.CategoryExpense categoryExpenseRequest) { try { if (categoryExpenseRequest == null) { return(BadRequest("Object cannot be null")); } // Update entity in repository var isUpdated = await _categoryExpenseService.EditCategoryExpense(categoryExpenseRequest, id); if (isUpdated) { return(NoContent()); } else { // _logger.LogError($"Add User is not valid. Error in SaveAsync(). When accessing to UserController/Post"); return(StatusCode(500, "A problem happend while handling your request.")); } } catch (Exception ex) { //response.DidError = true; //response.ErrorMessage = "There was an internal error, please contact to technical support."; // Logger?.LogCritical("There was an error on '{0}' invocation: {1}", nameof(PutStockItemAsync), ex); } return(NoContent()); }
public async Task CategoryExpensePut_TryingChangeEditingObjectInDB_ShouldBeAbleEditObjectAndSaveChangesToDatabase() { // Arrange mockRepo.Setup(y => y.GetAsync(It.IsAny <int>())) .Returns(Task.FromResult(categoryExpenseEntityObj)); mockRepo.Setup(y => y.SaveAsync()) .Returns(() => Task.Run(() => { return(true); })).Verifiable(); var sut = new CategoryExpenseService(mockRepo.Object, null); categoryExpenseModelObj = new Models.CategoryExpense { Id = 2, Description = "x2 Changed" }; var entityFromDB = queryDBInMemory.GetAsync(2); entityFromDB.Result.Description = categoryExpenseModelObj.Description; await context.SaveChangesAsync(); var isUpdatedNewObject = queryDBInMemory.GetAsync(2); // Act var resultOfEditCategoryExpense = await sut.EditCategoryExpense(categoryExpenseModelObj, 2); // Assert Assert.IsTrue(resultOfEditCategoryExpense, "SaveAsync should successful when edit CategoryExpense."); Assert.AreEqual(2, isUpdatedNewObject.Result.Id, "Object was not updated, require id=2"); Assert.AreEqual("x2 Changed", isUpdatedNewObject.Result.Description, "Object was not updated, require Description=x2 Changed"); mockRepo.Verify( x => x.GetAsync(It.IsAny <int>()), Times.Once, "GetAsync should run once"); mockRepo.Verify( x => x.SaveAsync(), Times.Once, "SaveAsync should run once"); }
public async Task Setup() { await InitDatabaseInMemoryTest(); categoryExpenseModelLists = new List <Models.CategoryExpense>(); categoryExpenseEntityLists = new List <Entities.CategoryExpense>(); mockRepo = new Mock <ICategoryExpenseRepository>(); mockMapper = new Mock <IMapper>(); categoryExpenseEntityObj = new Entities.CategoryExpense { Id = 2, Description = "CategoryeExpense1", IsDeleted = false, Weight = 2, CategoryGroupId = 2 }; categoryExpenseModelObj = new Models.CategoryExpense { Id = 2, Description = "CategoryeExpense2", IsDeleted = false, Weight = 2, CategoryGroupId = 2 }; categoryExpenseModelLists.Add(categoryExpenseModelObj); }
public void Setup() { categoryExpenseObj = new Entities.CategoryExpense { Id = 2, Description = "CategoryeExpense2", IsDeleted = false, Weight = 2, CategoryGroupId = 2 }; categoryExpenseModelObj = new Models.CategoryExpense { Id = 2, Description = "CategoryeExpense2", IsDeleted = false, Weight = 2, CategoryGroupId = 2 }; mockCategoryExpenseRepository = new Mock <ICategoryExpenseRepository>(); mockCategoryExpenseService = new Mock <ICategoryExpenseService>(); expectedIdOfCategoryExpense = 2; categoryExpenseListObj = new List <Models.CategoryExpense>() { new Models.CategoryExpense { Id = 2, Description = "CategoryeExpense2", IsDeleted = false, Weight = 2, CategoryGroupId = 2 } }; }