public void TimeInReport_ReportDateIsNotValidDate_ReturnsReportDateIncorrectError() { ReportQueryModel input = new ReportQueryModel() { UserName = "******", ReportDate = "incorrect date" }; Mock <IDailyTimeInDataAccess> timeIn = new Mock <IDailyTimeInDataAccess>(); Mock <IDailyTimeOutDataAccess> timeOut = new Mock <IDailyTimeOutDataAccess>(); Mock <IUserDataAccess> user = new Mock <IUserDataAccess>(); timeIn.Setup(x => x.GetMonthTimeIn(DateTime.Now)).Returns(new List <DailyTimeIn>()); timeOut.Setup(x => x.GetMonthTimeOut(DateTime.Now)).Returns(new List <DailyTimeOut>()); user.Setup(x => x.GetUser(input.UserName)).Returns(new User() { UserKey = 1, FirstName = "John", LastName = "Doe", IsActive = true, UserName = "******", UserPassword = "******", CreateUserId = "john.doe", CreateDttm = DateTime.Now, UpdateUserId = "john.doe", UpdateDttm = DateTime.Now }); ITimeInEmployeeReport app = new TimeInEmployeeReport(timeIn.Object, timeOut.Object, user.Object); var output = app.GenerateMonthlyReport(input); Assert.AreEqual("Invalid report date selected.", output.QueryStatus); }
public void TimeInReport_WhenUserNameIsBlank_ReturnsUserIsNameBlankError() { ReportQueryModel input = new ReportQueryModel() { UserName = "", ReportDate = DateTime.Now.ToString() }; Mock <IDailyTimeInDataAccess> timeIn = new Mock <IDailyTimeInDataAccess>(); Mock <IDailyTimeOutDataAccess> timeOut = new Mock <IDailyTimeOutDataAccess>(); Mock <IUserDataAccess> user = new Mock <IUserDataAccess>(); timeIn.Setup(x => x.GetMonthTimeIn(DateTime.Now)).Returns(new List <DailyTimeIn>()); timeOut.Setup(x => x.GetMonthTimeOut(DateTime.Now)).Returns(new List <DailyTimeOut>()); user.Setup(x => x.GetUser(input.UserName)).Returns(new User()); ITimeInEmployeeReport app = new TimeInEmployeeReport(timeIn.Object, timeOut.Object, user.Object); var output = app.GenerateMonthlyReport(input); Assert.AreEqual("Employee username is blank.", output.QueryStatus); }
public void TimeInReport_WhenEmployeeIsNotFound_ReturnsEmployeeNotFoundError() { ReportQueryModel input = new ReportQueryModel() { UserName = "******", ReportDate = DateTime.Now.ToString() }; Mock <IDailyTimeInDataAccess> timeIn = new Mock <IDailyTimeInDataAccess>(); Mock <IDailyTimeOutDataAccess> timeOut = new Mock <IDailyTimeOutDataAccess>(); Mock <IUserDataAccess> user = new Mock <IUserDataAccess>(); timeIn.Setup(x => x.GetMonthTimeIn(DateTime.Now)).Returns(new List <DailyTimeIn>()); timeOut.Setup(x => x.GetMonthTimeOut(DateTime.Now)).Returns(new List <DailyTimeOut>()); user.Setup(x => x.GetUser(input.UserName)).Returns((User)null); ITimeInEmployeeReport app = new TimeInEmployeeReport(timeIn.Object, timeOut.Object, user.Object); var output = app.GenerateMonthlyReport(input); Assert.AreEqual("Employee not found.", output.QueryStatus); }
public void TimeInReport_ReportQueryIscorrect_ReturnsReportGeneratedSuccessMessage() { ReportQueryModel input = new ReportQueryModel() { UserName = "******", ReportDate = DateTime.Now.ToString() }; Mock <IDailyTimeInDataAccess> timeIn = new Mock <IDailyTimeInDataAccess>(); Mock <IDailyTimeOutDataAccess> timeOut = new Mock <IDailyTimeOutDataAccess>(); Mock <IUserDataAccess> user = new Mock <IUserDataAccess>(); timeIn.Setup(x => x.GetEmployeeMonthTimeIn(1, DateTime.Parse(input.ReportDate))).Returns(new List <DailyTimeIn>() { new DailyTimeIn { TimeInId = 1, ActivityCd = 1, EmployeeId = 10001, IsActive = true, TimeInDttm = DateTime.Parse(input.ReportDate), CreateUserId = "john.doe", CreateDttm = DateTime.Parse(input.ReportDate), UpdateUserId = "john.doe", UpdateDttm = DateTime.Parse(input.ReportDate), Activity = new Activity { ActivityId = 1, ActivityNm = "Activity", IsActive = true, CreateUserId = "Admin", CreateDttm = DateTime.Now, UpdateUserId = "Admin", UpdateDttm = DateTime.Now } } }); timeOut.Setup(x => x.GetEmployeeMonthTimeOut(1, DateTime.Parse(input.ReportDate))).Returns(new List <DailyTimeOut>() { new DailyTimeOut { TimeInId = 1, ActivityCd = 1, EmployeeId = 10001, IsActive = true, TimeOutDttm = DateTime.Parse(input.ReportDate), CreateUserId = "john.doe", CreateDttm = DateTime.Parse(input.ReportDate), UpdateUserId = "john.doe", UpdateDttm = DateTime.Parse(input.ReportDate) } }); user.Setup(x => x.GetUser(input.UserName)).Returns(new User() { UserKey = 1, FirstName = "John", LastName = "Doe", IsActive = true, UserName = "******", UserPassword = "******", CreateUserId = "john.doe", CreateDttm = DateTime.Now, UpdateUserId = "john.doe", UpdateDttm = DateTime.Now }); ITimeInEmployeeReport app = new TimeInEmployeeReport(timeIn.Object, timeOut.Object, user.Object); var output = app.GenerateMonthlyReport(input); Assert.AreEqual("Report generated.", output.QueryStatus); }