示例#1
0
        public void validate_when_Carts_moreThan_1()
        {
            var carts = new List <CartViewModel>()
            {
                new CartViewModel()
                {
                    Code       = "Code",
                    CartNumber = "CartNumber",
                    Pcs        = 1,
                    Qty        = 1,

                    Uom = new UOMIntegrationViewModel()
                    {
                        Unit = "Unit"
                    }
                }
            };
            KanbanCreateViewModel viewModel = new KanbanCreateViewModel()
            {
                Instruction = new KanbanInstructionViewModel()
                {
                },
                Carts = carts
            };
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
示例#2
0
        public void validate_default()
        {
            KanbanCreateViewModel viewModel = new KanbanCreateViewModel();
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
示例#3
0
        public void validate_when_InstructionSteps_notNull()
        {
            var carts = new List <CartViewModel>()
            {
                new CartViewModel()
                {
                    Code       = "Code",
                    CartNumber = "",
                    Pcs        = 1,
                    Qty        = 1,

                    Uom = new UOMIntegrationViewModel()
                    {
                        Unit = "Unit"
                    },
                }
            };
            KanbanCreateViewModel viewModel = new KanbanCreateViewModel()
            {
                Instruction = new KanbanInstructionViewModel()
                {
                    Name  = "Name",
                    Steps = new List <KanbanStepViewModel>()
                    {
                        new KanbanStepViewModel()
                        {
                        }
                    }
                },
                Carts = carts
            };
            var result = viewModel.Validate(null);

            Assert.True(0 < result.Count());
        }
        public async void CreateCarts_InternalError()
        {
            var mockFacade = new Mock <IKanbanFacade>();

            mockFacade.Setup(x => x.CreateAsync(It.IsAny <KanbanModel>()))
            .ThrowsAsync(new Exception("eer"));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <KanbanModel>(It.IsAny <KanbanViewModel>())).Returns(new KanbanModel());

            var mockIdentityService = new Mock <IIdentityService>();

            var mockValidateService = new Mock <IValidateService>();

            KanbanController controller = GetController((mockIdentityService, mockValidateService, mockFacade, mockMapper));
            //controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = $"{It.IsAny<int>()}";
            KanbanCreateViewModel vm = new KanbanCreateViewModel()
            {
                Carts = new List <CartViewModel>()
                {
                    new CartViewModel()
                    {
                    }
                }
            };
            var response = await controller.Create(vm);

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Success_Instantiate()
        {
            var carts = new List <CartViewModel>()
            {
                new CartViewModel()
                {
                    Code       = "Code",
                    CartNumber = "CartNumber",
                    Pcs        = 1,
                    Qty        = 1,
                    Uom        = new UOMIntegrationViewModel()
                    {
                        Unit = "Unit"
                    }
                }
            };



            var instruction     = new KanbanInstructionViewModel();
            var productionOrder = new ProductionOrderIntegrationViewModel();
            var selectedProductionOrderDetail = new ProductionOrderDetailIntegrationViewModel();
            KanbanCreateViewModel viewModel   = new KanbanCreateViewModel()
            {
                GoodOutput      = 1,
                BadOutput       = 1,
                Code            = "Code",
                Carts           = carts,
                CurrentQty      = 1,
                Instruction     = instruction,
                IsBadOutput     = true,
                Grade           = "Grade",
                IsComplete      = true,
                IsInactive      = false,
                IsReprocess     = true,
                OldKanbanId     = 1,
                ProductionOrder = productionOrder,
                SelectedProductionOrderDetail = selectedProductionOrderDetail,
                CurrentStepIndex = 1
            };

            Assert.Equal(1, viewModel.BadOutput);
            Assert.Equal("Code", viewModel.Code);
            Assert.Equal(carts, viewModel.Carts);
            Assert.Equal("Code", viewModel.Code);
            Assert.Equal(1, viewModel.CurrentQty);
            Assert.Equal(1, viewModel.CurrentStepIndex);
            Assert.Equal(1, viewModel.GoodOutput);
            Assert.Equal("Grade", viewModel.Grade);
            Assert.Equal(instruction, viewModel.Instruction);
            Assert.True(viewModel.IsBadOutput);
            Assert.True(viewModel.IsComplete);
            Assert.False(viewModel.IsInactive);
            Assert.True(viewModel.IsReprocess);
            Assert.Equal("Grade", viewModel.Grade);
            Assert.Equal(selectedProductionOrderDetail, viewModel.SelectedProductionOrderDetail);
        }
示例#6
0
        public async Task <ActionResult> Create([FromBody] KanbanCreateViewModel viewModel)
        {
            try
            {
                VerifyUser();
                ValidateService.Validate(viewModel);

                foreach (var cart in viewModel.Carts)
                {
                    KanbanViewModel vmToCreate = new KanbanViewModel
                    {
                        Cart             = cart,
                        CurrentQty       = viewModel.CurrentQty ?? 0,
                        CurrentStepIndex = viewModel.CurrentStepIndex ?? 0,
                        GoodOutput       = viewModel.GoodOutput ?? 0,
                        Grade            = viewModel.Grade,
                        Instruction      = viewModel.Instruction,
                        OldKanbanId      = viewModel.OldKanbanId,
                        ProductionOrder  = viewModel.ProductionOrder,
                        IsBadOutput      = viewModel.IsBadOutput,
                        BadOutput        = viewModel.BadOutput ?? 0,
                        IsReprocess      = viewModel.IsReprocess,
                        SelectedProductionOrderDetail = viewModel.SelectedProductionOrderDetail
                    };

                    if (cart.reprocess == REPROSES || cart.reprocess == LANJUT_PROSES)
                    {
                        vmToCreate.IsReprocess = cart.IsReprocess;
                        vmToCreate.Instruction = cart.Instruction;
                    }
                    KanbanModel model = Mapper.Map <KanbanModel>(vmToCreate);
                    await Facade.CreateAsync(model);
                }

                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE)
                    .Ok();
                return(Created(String.Concat(Request.Path, "/", 0), Result));
            }
            catch (ServiceValidationException e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
        public async void CreateCarts_OK()
        {
            var mockFacade = new Mock <IKanbanFacade>();

            mockFacade.Setup(x => x.CreateAsync(It.IsAny <KanbanModel>()))
            .ReturnsAsync(1);

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <KanbanModel>(It.IsAny <KanbanViewModel>())).Returns(new KanbanModel());

            var mockIdentityService = new Mock <IIdentityService>();

            var mockValidateService = new Mock <IValidateService>();

            KanbanController controller = GetController((mockIdentityService, mockValidateService, mockFacade, mockMapper));
            //controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = $"{It.IsAny<int>()}";
            KanbanCreateViewModel vm = new KanbanCreateViewModel()
            {
                Carts = new List <CartViewModel>()
                {
                    new CartViewModel()
                    {
                        reprocess   = "Lanjut Proses",
                        IsReprocess = false,
                        Instruction = new KanbanInstructionViewModel()
                    },
                    new CartViewModel()
                    {
                        reprocess   = "Reproses",
                        IsReprocess = true,
                        Instruction = new KanbanInstructionViewModel()
                    }
                }
            };
            var response = await controller.Create(vm);

            Assert.Equal((int)HttpStatusCode.Created, GetStatusCode(response));
        }