public async Task Should_Error_Get_Data_By_Id()
        {
            var mockFacade = new Mock <IPPHBankExpenditureNoteFacade>();

            mockFacade.Setup(x => x.ReadById(It.IsAny <int>()))
            .Throws(new Exception());

            PPHBankExpenditureNoteController controller = new PPHBankExpenditureNoteController(GetServiceProvider().Object, mockFacade.Object);
            var response = await controller.GetById(It.IsAny <int>());

            Assert.Equal((int)HttpStatusCode.InternalServerError, GetStatusCode(response));
        }
        public async Task Should_Not_Found_Get_Data_By_Id()
        {
            var mockFacade = new Mock <IPPHBankExpenditureNoteFacade>();

            mockFacade.Setup(x => x.ReadById(It.IsAny <int>()))
            .ReturnsAsync((PPHBankExpenditureNote)null);

            PPHBankExpenditureNoteController controller = new PPHBankExpenditureNoteController(GetServiceProvider().Object, mockFacade.Object);

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

            controller.ControllerContext.HttpContext.Request.Headers["Accept"] = "test";

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

            Assert.Equal((int)HttpStatusCode.NotFound, GetStatusCode(response));
        }
        public void Should_Success_Get_Data_By_Id()
        {
            var mockFacade = new Mock <IPPHBankExpenditureNoteFacade>();

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

            PPHBankExpenditureNoteController controller = new PPHBankExpenditureNoteController(GetServiceProvider().Object, mockFacade.Object);

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

            controller.ControllerContext.HttpContext.Request.Headers["Accept"] = "test";

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

            Assert.Equal((int)HttpStatusCode.OK, GetStatusCode(response));
        }
        public async Task Should_Success_Get_PDF_By_Id()
        {
            var mockFacade = new Mock <IPPHBankExpenditureNoteFacade>();

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

            PPHBankExpenditureNoteController controller = new PPHBankExpenditureNoteController(GetServiceProvider().Object, mockFacade.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 = await controller.GetById(It.IsAny <int>());

            Assert.NotNull(response.GetType().GetProperty("FileStream"));
        }