public void Should_Error_Get_PDF_Nota_Retur_By_Id()
        {
            var mockFacade = new Mock <IUnitPaymentQuantityCorrectionNoteFacade>();

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

            var mockFacadeSpb = new Mock <IUnitPaymentOrderFacade>();

            mockFacadeSpb.Setup(x => x.ReadById(It.IsAny <int>()))
            .Returns(ModelSpb);

            var mockMapper    = new Mock <IMapper>();
            var mockMapperSpb = new Mock <IMapper>();

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

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

            controller.ControllerContext.HttpContext.Request.Headers["Accept"]            = "application/pdf";
            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";

            var response = controller.GetPDFNotaRetur(It.IsAny <int>());

            Assert.Equal(null, response.GetType().GetProperty("FileStream"));
        }
        private UnitPaymentQuantityCorrectionNoteController GetController(Mock <IUnitPaymentQuantityCorrectionNoteFacade> facadeM, Mock <IValidateService> validateM, Mock <IMapper> mapper, Mock <IUnitPaymentOrderFacade> facadeSpb)
        {
            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

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

            var servicePMock = GetServiceProvider();

            servicePMock
            .Setup(x => x.GetService(typeof(IValidateService)))
            .Returns(validateM.Object);

            UnitPaymentQuantityCorrectionNoteController controller = new UnitPaymentQuantityCorrectionNoteController(servicePMock.Object, mapper.Object, facadeM.Object, facadeSpb.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_PDF_Nota_Koreksi_By_Id_when_UseVat_UseIncomeTax_False()
        {
            var mockFacade = new Mock <IUnitPaymentQuantityCorrectionNoteFacade>();

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

            var mockFacadeSpb = new Mock <IUnitPaymentOrderFacade>();

            mockFacadeSpb.Setup(x => x.ReadById(It.IsAny <int>()))
            .Returns(ModelSpb);

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <UnitPaymentCorrectionNoteViewModel>(It.IsAny <UnitPaymentCorrectionNote>()))
            .Returns(ViewModelFalse);

            var mockMapperSpb = new Mock <IMapper>();

            mockMapper.Setup(x => x.Map <UnitPaymentOrderViewModel>(It.IsAny <UnitPaymentOrder>()))
            .Returns(ViewModelSpb);
            //var mockMapper = new Mock<IMapper>();
            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

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

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

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

            controller.ControllerContext.HttpContext.Request.Headers["Accept"]            = "application/pdf";
            controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "0";

            var response = controller.GetPDF(It.IsAny <int>());

            Assert.NotEqual(null, response.GetType().GetProperty("FileStream"));
        }
        public void Should_Success_Get_Data_By_Id()
        {
            var mockFacade = new Mock <IUnitPaymentQuantityCorrectionNoteFacade>();

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

            var mockFacadeSpb = new Mock <IUnitPaymentOrderFacade>();

            mockFacadeSpb.Setup(x => x.Read(1, 25, "{}", null, "{}"))
            .Returns(Tuple.Create(new List <UnitPaymentOrder>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

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

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

            mockFacade.Setup(x => x.Read(1, 25, "{}", null, "{}"))
            .Returns(Tuple.Create(new List <UnitPaymentCorrectionNote>(), 0, new Dictionary <string, string>()));

            var mockFacadeSpb = new Mock <IUnitPaymentOrderFacade>();

            mockFacadeSpb.Setup(x => x.Read(1, 25, "{}", null, "{}"))
            .Returns(Tuple.Create(new List <UnitPaymentOrder>(), 0, new Dictionary <string, string>()));

            var mockMapper = new Mock <IMapper>();

            UnitPaymentQuantityCorrectionNoteController controller = new UnitPaymentQuantityCorrectionNoteController(GetServiceProvider().Object, mockMapper.Object, mockFacade.Object, mockFacadeSpb.Object);
            var response = controller.Get(1, 25, "{}", null, "{}");

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