Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> AddLogItem(ConsumeLogItem logItem)
        {
            var result = await _consumedDishService.AddLogItemAsync(logItem);

            return(Ok(new { result }));
        }