public async Task <ActionResult> UpdateLogItem(int id, ConsumeLogItem logItem) { if (id != logItem.Id) { ModelState.AddModelError("upd_err", "Id in the path does not match with model id!"); return(BadRequest()); } await _consumedDishService.UpdateLogItem(logItem); return(NoContent()); }
public virtual async Task <int> AddLogItemAsync(ConsumeLogItem logItem) { var dbItem = _mappper.Map <ConsumedDish>(logItem); var result = await _consumedDishRepository.AddItemAsync(dbItem); if (AutoUpdateDailyReport) { await _reportService.UpsertDailyReportAsync(logItem.CustomerId, logItem.DateOfConsume); } return(result); }
public async Task UpdateLogItemAsync_WhenItemDoesNotExist_ThrowsError() { //Prepare test ConsumedDish dish = null; var logItem = new ConsumeLogItem { Id = 1 }; _dishRepositoryMock.Setup(a => a.GetItemAsync(1, "")).ReturnsAsync(dish); //Do Test and assert and Test var exception = await Assert.ThrowsAsync <ArgumentException>(async() => await _dishService.UpdateLogItem(logItem)); Assert.Equal("Consumed dish with id 1 does not exist in database!", exception.Message); }
public async Task AddLogItemAsync_IfFails_ReturnsZero() { //PrepareTest var logItem = new ConsumeLogItem(); var consumedDish = new ConsumedDish(); _dishRepositoryMock.Setup(x => x.AddItemAsync(consumedDish)).ReturnsAsync(-1).Verifiable(); _mapperMock.Setup(m => m.Map <ConsumedDish>(logItem)).Returns(consumedDish); //Do test var result = await _dishService.AddLogItemAsync(logItem); //Assert _dishRepositoryMock.Verify(r => r.AddItemAsync(consumedDish), Times.Once); Assert.Equal(-1, result); }
public async Task UpdateLogItemAsync() { //Prepare test ConsumedDish dish = new ConsumedDish(); var logItem = new ConsumeLogItem { Id = 1, CustomerId = 1, DateOfConsume = DateTime.Today }; _dishRepositoryMock.Setup(a => a.GetItemAsync(1, "")).ReturnsAsync(dish); _dishRepositoryMock.Setup(a => a.UpdateItemAsync(dish)).ReturnsAsync(1); _mapperMock.Setup(m => m.Map <ConsumedDish>(logItem)).Returns(dish); _dishService.AutoUpdateDailyReport = true; //Do test var result = await _dishService.UpdateLogItem(logItem); //Assert _reportServiceMock.Verify(s => s.UpsertDailyReportAsync(1, DateTime.Today), Times.Once); Assert.Equal(1, result); }
public virtual async Task <int> UpdateLogItem(ConsumeLogItem logItem) { var consumedDish = await _consumedDishRepository.GetItemAsync(logItem.Id); if (consumedDish == null) { throw new ArgumentException($"Consumed dish with id {logItem.Id} does not exist in database!"); } var dbItem = _mappper.Map <ConsumedDish>(logItem); var result = await _consumedDishRepository.UpdateItemAsync(dbItem); if (AutoUpdateDailyReport) { await _reportService.UpsertDailyReportAsync(logItem.CustomerId, logItem.DateOfConsume); } return(result); }
public async Task AddLogItemAsync() { //PrepareTest var logItem = new ConsumeLogItem() { CustomerId = 1, DateOfConsume = DateTime.Today }; var consumedDish = new ConsumedDish(); _dishRepositoryMock.Setup(x => x.AddItemAsync(consumedDish)).ReturnsAsync(1).Verifiable(); _mapperMock.Setup(m => m.Map <ConsumedDish>(logItem)).Returns(consumedDish); _dishService.AutoUpdateDailyReport = true; //Do test var result = await _dishService.AddLogItemAsync(logItem); //Assert _reportServiceMock.Verify(s => s.UpsertDailyReportAsync(1, DateTime.Today), Times.Once); _dishRepositoryMock.Verify(r => r.AddItemAsync(consumedDish), Times.Once); Assert.Equal(1, result); }
public async Task <ActionResult> AddLogItem(ConsumeLogItem logItem) { var result = await _consumedDishService.AddLogItemAsync(logItem); return(Ok(new { result })); }