public void UpdateVBCreatedFlag_Return_InternalServerError()
        {
            //Setup
            Mock <IVBRequestPOExternalService> serviceMock = new Mock <IVBRequestPOExternalService>();

            serviceMock.Setup(s => s.UpdateSPB(It.IsAny <string>(), It.IsAny <int>())).Throws(new Exception());

            Mock <IServiceProvider> serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(s => s.GetService(typeof(IVBRequestPOExternalService))).Returns(serviceMock.Object);

            //Act
            VBRequestPOExternalController controller = GetController(serviceProviderMock, serviceMock);
            var response = controller.UpdateVBCreatedFlag(null, 1);

            //Assert
            int statusCode = this.GetStatusCode(response);

            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCode);
        }
        public async Task AutoJournalEPO_Return_InternalServerError()
        {
            //Setup
            Mock <IVBRequestPOExternalService> serviceMock = new Mock <IVBRequestPOExternalService>();

            serviceMock.Setup(s => s.AutoJournalVBRequest(It.IsAny <VBFormDto>())).Throws(new Exception());

            Mock <IServiceProvider> serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(s => s.GetService(typeof(IVBRequestPOExternalService))).Returns(serviceMock.Object);

            //Act
            VBRequestPOExternalController controller = GetController(serviceProviderMock, serviceMock);
            var response = await controller.AutoJournalEPO(new VBFormDto());

            //Assert
            int statusCode = this.GetStatusCode(response);

            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCode);
        }
        public void GetSPB_Return_OK()
        {
            //Setup
            Mock <IVBRequestPOExternalService> serviceMock = new Mock <IVBRequestPOExternalService>();

            serviceMock.Setup(s => s.ReadSPB(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <List <long> >(), It.IsAny <string>(), It.IsAny <string>())).Returns(new List <SPBDto>()
            {
                sPBDto
            });

            Mock <IServiceProvider> serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(s => s.GetService(typeof(IVBRequestPOExternalService))).Returns(serviceMock.Object);

            //Act
            VBRequestPOExternalController controller = GetController(serviceProviderMock, serviceMock);
            var response = controller.GetSPB(null, null, "[1, 2, 3, 4]", null, "UMUM");

            //Assert
            int statusCode = this.GetStatusCode(response);

            Assert.Equal((int)HttpStatusCode.OK, statusCode);
        }
        protected VBRequestPOExternalController GetController(Mock <IServiceProvider> serviceProvider, Mock <IVBRequestPOExternalService> service)
        {
            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

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

            VBRequestPOExternalController controller = new VBRequestPOExternalController(service.Object, serviceProvider.Object);

            controller.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");

            return(controller);
        }