public async Task PeriodReport_returnsModelWithStartAndEndForCurrentMonth_whenNoDates() { var database = new InMemoryDatabaseWithProjectsAndUsers().Database; database.AddTimeOff(); var controller = new AdminReportsController(database); var expectedStartDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1); var expectedEndDate = expectedStartDate.AddMonths(1).AddDays(-1); var result = await controller.FilteredReport(); var model = result.Model.Should().BeOfType <PayPeriodReportViewModel>().Which; model.SelectedProjectId.Should().BeNull(); model.PayPeriodStartDate.Date.Should().Be(expectedStartDate.Date); model.PayPeriodEndDate.Date.Should().Be(expectedEndDate.Date); model.ReportItems.Should().HaveCount(database.Users.Count()); }
public async Task PeriodReport_returnsExpectedModelWithEndDate_whenStartDateSet() { var database = new InMemoryDatabaseWithProjectsAndUsers().Database; database.AddTimeOff(); var controller = new AdminReportsController(database); var expectedStartDate = database.TimeEntries.First().Date; var expectedEndDate = expectedStartDate.AddMonths(1).AddDays(-1); var result = await controller.FilteredReport(expectedStartDate.ToString("yyyy-MM-dd")); var model = result.Model.Should().BeOfType <PayPeriodReportViewModel>().Which; model.SelectedProjectId.Should().BeNull(); model.PayPeriodStartDate.Date.Should().Be(expectedStartDate.Date); model.PayPeriodEndDate.Date.Should().Be(expectedEndDate.Date); model.ReportItems.Should().HaveCount(database.Users.Count()); }