Esempio n. 1
0
        public async Task UpdateOrderSuccessTestCase()
        {
            var mockDbSet              = Container.Resolve <Mock <DbSet <Order> > >();
            var mockDbContext          = Container.Resolve <Mock <DatabaseContext> >();
            var updatingOrderViewModel = new UpdatingOrderViewModel()
            {
                Id    = new Guid("54bc5e85-e12f-455a-892c-0122638934bc"),
                Date  = DateTime.Now,
                Price = 123.45m
            };

            var result = await Controller.UpdateOrder(updatingOrderViewModel);

            var viewResult = Assert.IsType <JsonResult>(result);

            Assert.IsAssignableFrom <RequestState>(viewResult.Value);
            mockDbSet.Verify(context => context.Update(It.IsAny <Order>()));
            mockDbContext.Verify(context => context.SaveChangesAsync(CancellationToken.None));
        }
        public async Task <IActionResult> UpdateOrder(UpdatingOrderViewModel updatingOrder)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new RequestState(Status.Fail, "Ошибка валидации", ModelState)));
                }

                var order = Mapper.Map <Order>(updatingOrder);
                await OrderDataAccess.UpdateOrderAsync(order);

                return(Json(new RequestState(Status.Success, "Заказ успешно изменен")));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                return(Json(new RequestState(Status.Fail, "Не удалось выполнить требуемую операцию")));
            }
        }