public void GetFileStream_FileDoesNotExist()
        {
            var mockFile = new Mock <IFileRepository>();

            mockFile.Setup(x => x.FileExists(It.IsAny <string>())).Returns(false);

            var mockCalendar = new Mock <ICalendarRepository>();

            mockCalendar.Setup(x => x.GetPreviousBusinessDay(It.IsAny <DateTime>())).Returns(DateTime.Today);

            var obj = new PreAuthorizedPaymentReport(null, null, mockFile.Object, mockCalendar.Object);

            obj.SetPortfolio("A");
            obj.SetReportDate(DateTime.Today);

            obj.GetFileStream();

            Assert.Fail();
        }
        public void GetFilePath_HappyPath()
        {
            var mock = new Mock <ICalendarRepository>();

            mock.Setup(x => x.GetPreviousBusinessDay(It.IsAny <DateTime>())).Returns(DateTime.Today);

            var portfolio = "A";
            var obj       = new PreAuthorizedPaymentReport(null, null, null, mock.Object);

            obj.SetPortfolio(portfolio);
            obj.SetReportDate(DateTime.Today);

            var filePath = obj.GetFilePath();

            // Have to get two business days ago
            mock.Verify(x => x.GetPreviousBusinessDay(DateTime.Today), Times.Exactly(2));

            Assert.AreEqual($@"{RuntimeSettings.LeasePakReporting.ReportingFolderFilepath}\{DateTime.Today:MMddyy}\p{portfolio}_{Constants.LeasePakReporting.PreAuthorizedPaymentsReportFileName}", filePath);
        }
        public void GetFileStream_HappyPath()
        {
            var mockFile = new Mock <IFileRepository>();

            mockFile.Setup(x => x.FileExists(It.IsAny <string>())).Returns(true);

            var mockCalendar = new Mock <ICalendarRepository>();

            mockCalendar.Setup(x => x.GetPreviousBusinessDay(It.IsAny <DateTime>())).Returns(DateTime.Today);

            var obj = new PreAuthorizedPaymentReport(null, null, mockFile.Object, mockCalendar.Object);

            obj.SetPortfolio("A");
            obj.SetReportDate(DateTime.Today);

            var fileStream = obj.GetFileStream();

            mockFile.Verify(x => x.FileExists(obj.GetFilePath()));
            Assert.IsTrue(true);
        }