public void TaskRepository_InsertTaskWithTimeReports() { var actual = Task; var timeReport1 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 7.5 }; var timeReport2 = new Data.Entities.TimeReport { Date = DateTime.Today.AddDays(-1), TimeWorked = 1 }; actual.TimeReports.Add(timeReport1); actual.TimeReports.Add(timeReport2); SystemUnderTest.Insert(actual); Assert.True(actual.Id != 0, "Task id should not be 0."); Assert.True(actual.TimeReports.ElementAt(0).Id != 0, "Task timeReport #0 id should not be 0."); Assert.True(actual.TimeReports.ElementAt(1).Id != 0, "Task timeReport #1 id should not be 0."); }
public void TaskRepository_InsertTaskWithTimeReports_UpdateTaskAndTimeReports() { var expected = Task; var timeReport1 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 7.5 }; var timeReport2 = new Data.Entities.TimeReport { Date = DateTime.Today.AddDays(-1), TimeWorked = 1 }; expected.TimeReports.Add(timeReport1); expected.TimeReports.Add(timeReport2); SystemUnderTest.Insert(expected); expected.Name = "modified"; timeReport1.TimeWorked = 3; timeReport2.TimeWorked = 3; SystemUnderTest.Update(expected); systemUnderTest = null; var actual = SystemUnderTest.Get(expected.Id); Assert.Equal(expected.Name, actual.Name); Assert.Equal(2, actual.TimeReports.Count); Assert.All(actual.TimeReports, report => Assert.Equal(3, report.TimeWorked)); }
public void TaskRepository_InsertTaskWithTimeReport_DeleteTimeReport() { // Arrange var expected = Task; var timeReport1 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 7.5 }; var timeReport2 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 6 }; expected.TimeReports.Add(timeReport1); expected.TimeReports.Add(timeReport2); SystemUnderTest.Insert(expected); Assert.True(expected.Id != 0, "Task id should not be 0."); // Act expected.TimeReports.Remove(timeReport1); SystemUnderTest.Update(expected); systemUnderTest = null; // Assert var actual = SystemUnderTest.Get(expected.Id); Assert.Equal(1, actual.TimeReports.Count); }
private void Ef_SaveTaskWithTimeReport_MultipleTimeReports() { var task = Task; var timeReport1 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 1.5 }; var timeReport2 = new Data.Entities.TimeReport { Date = DateTime.Today.AddDays(-1), TimeWorked = 4 }; task.TimeReports.Add(timeReport1); task.TimeReports.Add(timeReport2); SystemUnderTest.Tasks.Add(task); SystemUnderTest.SaveChanges(); Assert.True(task.Id != 0, "Task id should not be 0."); Assert.True(task.TimeReports.ElementAt(0).Id != 0, "Task timeReport #0 id should not be 0."); Assert.True(task.TimeReports.ElementAt(1).Id != 0, "Task timeReport #1 id should not be 0."); }
private void Ef_LoadTaskWithTimeReports_UsingFreshDbContext() { var expectedTask = Task; var timeReport1 = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 5.5 }; var timeReport2 = new Data.Entities.TimeReport { Date = DateTime.Today.AddDays(-1), TimeWorked = 0.5 }; expectedTask.TimeReports.Add(timeReport1); expectedTask.TimeReports.Add(timeReport2); SystemUnderTest.Tasks.Add(expectedTask); SystemUnderTest.SaveChanges(); // Create fresh db context systemUnderTest = null; var actualTask = SystemUnderTest.Tasks.Include(t => t.TimeReports).FirstOrDefault(t => t.Id == expectedTask.Id); Assert.NotNull(actualTask); Assert.NotNull(actualTask.TimeReports); Assert.NotEmpty(actualTask.TimeReports); Assert.Equal(2, actualTask.TimeReports.Count); Assert.All(actualTask.TimeReports, Assert.NotNull); }
private void AssertEqual(Data.Entities.TimeReport report, TimeReportModel reportModel) { Assert.Equal(report.Id, reportModel.Id); Assert.Equal(report.TimeWorked, reportModel.TimeWorkedInHours); Assert.Equal(report.Date, reportModel.Date); Assert.Equal(report.DateCreated, reportModel.DateCreated); Assert.Equal(report.DateModified, reportModel.DateModified); }
private void Ef_SaveTaskWithTimeReport_SingleTimeReport() { var task = Task; var timeReport = new Data.Entities.TimeReport { Date = DateTime.Today, TimeWorked = 1.5 }; task.TimeReports.Add(timeReport); SystemUnderTest.Tasks.Add(task); SystemUnderTest.SaveChanges(); Assert.True(task.Id != 0, "Task id should not be 0."); Assert.True(task.TimeReports.Single().Id != 0, "Task timeReport id should not be 0."); }