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()); }
public void validate_default() { KanbanCreateViewModel viewModel = new KanbanCreateViewModel(); var result = viewModel.Validate(null); Assert.True(0 < result.Count()); }
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); }
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)); }