public void Should_Success_Get_Xls_DO()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GenerateExcelDO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>()))
            .Returns(new MemoryStream());

            var mockMapper = new Mock <IMapper>();
            //mockMapper.Setup(x => x.Map<List<GarmentDeliveryOrderReportViewModel>>(It.IsAny<List<GarmentDeliveryOrder>>()))
            //    .Returns(new List<GarmentDeliveryOrderReportViewModel> { ViewModel });

            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };

            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";
            var response = controller.GetXlsDO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>());

            Assert.Equal("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", response.GetType().GetProperty("ContentType").GetValue(response, null));
        }
        public void Should_Error_Get_All_Data_For_CorrectionNoteQuantity()
        {
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, null, null);
            var response = controller.GetForCorrectionNoteQuantity();

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Success_Get_Report_Xls_Data_Detail_AccuracyArrival()
        {
            List <GarmentCategoryViewModel> garmentCategory = new List <GarmentCategoryViewModel>
            {
                new GarmentCategoryViewModel
                {
                    Id              = 7,
                    Code            = "LBL",
                    Name            = "LABEL",
                    CodeRequirement = "BP"
                },
                new GarmentCategoryViewModel
                {
                    Id              = 13,
                    Code            = "SUB",
                    Name            = "SUBKON",
                    CodeRequirement = "BB"
                }
            };
            long   nowTicks  = DateTimeOffset.Now.Ticks;
            string nowTicksA = $"{nowTicks}a";

            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GetReportDetailAccuracyofArrival($"BuyerCode{nowTicksA}", null, null, null, It.IsAny <int>()))
            .Returns(Tuple.Create(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            }, 25));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <AccuracyOfArrivalReportViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            });

            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };
            var vmString = JsonConvert.SerializeObject(garmentCategory);

            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";
            var response = controller.GetXlsArrivalDetail($"BuyerCode{nowTicksA}", null, null, null);

            Assert.Null(response.GetType().GetProperty("FileStream"));
        }
        public void Should_Error_Get_Xls_DO()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            var mockMapper = new Mock <IMapper>();

            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            var response = controller.GetXlsDO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>());

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Error_Get_Report_DO()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            var mockMapper = new Mock <IMapper>();


            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetReportDO(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>());

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Error_Get_Loader()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.ReadLoader(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Throws(new Exception());

            var mockMapper = new Mock <IMapper>();

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetLoader();

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Success_Get_Loader()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.ReadLoader(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(new ReadResponse <dynamic>(new List <dynamic>(), 1, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetLoader();

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public void Should_Success_Get_All_Data_For_UnitReceiptNote()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.ReadForUnitReceiptNote(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>()))
            .Returns(new ReadResponse <object>(new List <object>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetForUnitReceiptNote();

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public void Should_Error_Get_Data_By_Id()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.ReadById(It.IsAny <int>()))
            .Returns(new GarmentDeliveryOrder());

            var mockMapper = new Mock <IMapper>();

            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);
            var response = controller.Get(It.IsAny <int>());

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Error_Get_Data_For_Customs()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.Read(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>()))
            .Returns(Tuple.Create(new List <GarmentDeliveryOrder>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <GarmentDeliveryOrderViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <GarmentDeliveryOrderViewModel> {
                ViewModel
            });

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetForCustoms();

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public void Should_Error_Get_All_Data_By_User()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.Read(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>()))
            .Returns(Tuple.Create(new List <GarmentDeliveryOrder>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <GarmentDeliveryOrderViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <GarmentDeliveryOrderViewModel> {
                ViewModel
            });

            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);
            var response = controller.GetByUser();

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Success_Get_All_Data_By_User_With_Filter()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.Read(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), null, It.IsAny <string>()))
            .Returns(Tuple.Create(new List <GarmentDeliveryOrder>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <GarmentDeliveryOrderViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <GarmentDeliveryOrderViewModel> {
                ViewModel
            });

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetByUser(filter: "{ 'IsClosed': false }");

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public void Should_Success_Get_Report_DO()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GetReportDO(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>()))
            .Returns(Tuple.Create(new List <GarmentDeliveryOrderReportViewModel>(), 5));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <GarmentDeliveryOrderViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <GarmentDeliveryOrderViewModel> {
                ViewModel
            });

            GarmentDeliveryOrderController controller = GetController(mockFacade, null, mockMapper);
            var response = controller.GetReportDO(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>());

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public void Should_Error_Get_Report_Xls_Data_Detail_AccuracyDelivery()
        {
            long   nowTicks  = DateTimeOffset.Now.Ticks;
            string nowTicksA = $"{nowTicks}a";

            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GetReportDetailAccuracyofDelivery($"BuyerCode{nowTicksA}", null, null, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .Returns(Tuple.Create(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            }, 25));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <AccuracyOfArrivalReportViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            });

            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };

            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";
            var response = controller.GetXlsDeliveryDetail($"BuyerCode{nowTicksA}", null, null, "", "");

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public async Task Should_Error_Update_Data()
        {
            var validateMock = new Mock <IValidateService>();

            validateMock.Setup(s => s.Validate(It.IsAny <GarmentDeliveryOrderViewModel>())).Verifiable();

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <GarmentDeliveryOrder>(It.IsAny <GarmentDeliveryOrderViewModel>()))
            .Returns(Model);

            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.Create(It.IsAny <GarmentDeliveryOrder>(), "unittestusername", 7))
            .ReturnsAsync(1);

            var controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            var response = await controller.Put(It.IsAny <int>(), It.IsAny <GarmentDeliveryOrderViewModel>());

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public void Should_Success_Get_Report_Xls_Data_Header_AccuracyDelivery()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GetReportHeaderAccuracyofDelivery(null, null, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()))
            .Returns(Tuple.Create(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            }, 25));

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <AccuracyOfArrivalReportViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            });

            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };

            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";
            var response = controller.GetXlsDeliveryHeader(null, null, "", "");

            Assert.Null(response.GetType().GetProperty("FileStream"));
        }
        private GarmentDeliveryOrderController GetController(Mock <IGarmentDeliveryOrderFacade> facadeM, Mock <IValidateService> validateM, Mock <IMapper> mapper)
        {
            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);

            var servicePMock = GetServiceProvider();

            if (validateM != null)
            {
                servicePMock
                .Setup(x => x.GetService(typeof(IValidateService)))
                .Returns(validateM.Object);
            }

            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(servicePMock.Object, mapper.Object, facadeM.Object)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                    {
                        User = user.Object
                    }
                }
            };

            controller.ControllerContext.HttpContext.Request.Headers["Authorization"] = "Bearer unittesttoken";
            controller.ControllerContext.HttpContext.Request.Path = new PathString("/v1/unit-test");
            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "7";

            return(controller);
        }
        public void Should_Success_Get_Report_Data_Arrival_Header()
        {
            var mockFacade = new Mock <IGarmentDeliveryOrderFacade>();

            mockFacade.Setup(x => x.GetAccuracyOfArrivalHeader(null, null, null))
            .Returns(new Lib.Facades.GarmentDeliveryOrderFacades.AccuracyOfArrivalReportHeaderResult());

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <List <AccuracyOfArrivalReportViewModel> >(It.IsAny <List <GarmentDeliveryOrder> >()))
            .Returns(new List <AccuracyOfArrivalReportViewModel> {
                this.ViewModelAccuracyArrival
            });

            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);
            GarmentDeliveryOrderController controller = new GarmentDeliveryOrderController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };

            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";
            var response = controller.GetReport(null, null, null);

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