public void GetsTestFailureDurationsWithStartDateOutside24Hours() { var utcNow = DateTime.UtcNow; var latestTestResultDtos = new List <LatestTestResultDto> { new LatestTestResultDto { SuiteId = 1, TestId = 2, PassingFromDate = utcNow, } }; var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var testFailureDurationDtos = new List <TestFailureDurationDto> { new TestFailureDurationDto { SuiteId = 1, TestId = 2, FailureStart = utcNow.AddHours(-48), FailureEnd = utcNow.AddHours(-23) } }; var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(testFailureDurationDtos); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var latestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(1, latestTestResults.Count); Assert.AreEqual(1, latestTestResults[0].TestFailureDurations.Count()); Assert.AreEqual(utcNow.AddHours(-48), latestTestResults[0].TestFailureDurations.ToList()[0].FailureStart); Assert.AreEqual(utcNow.AddHours(-23), latestTestResults[0].TestFailureDurations.ToList()[0].FailureEnd); }
public void IgnoresTestFailureDurationsWithoutTestId() { var utcNow = DateTime.UtcNow; var latestTestResultDtos = new List <LatestTestResultDto> { new LatestTestResultDto { SuiteId = 1, TestId = 2, PassingFromDate = utcNow, } }; var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var testFailureDurationDtos = new List <TestFailureDurationDto> { new TestFailureDurationDto { SuiteId = 1, TestId = 99, FailureEnd = utcNow } }; var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(testFailureDurationDtos); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var latestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(1, latestTestResults.Count); Assert.AreEqual(0, latestTestResults[0].TestFailureDurations.Count()); }
public void SingleTestResultZeroFailures() { var utcNow = DateTime.UtcNow; var latestTestResultDtos = new List <LatestTestResultDto> { new LatestTestResultDto { SuiteId = 1, TestResultID = 2, TestName = "test1", SuiteName = "suite-name", PassingFromDate = utcNow, } }; var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(new List <TestFailureDurationDto>()); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var actualLatestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(1, actualLatestTestResults.Count); Assert.AreEqual(2, actualLatestTestResults[0].TestResultID); Assert.AreEqual("test1", actualLatestTestResults[0].TestName); Assert.AreEqual("suite-name", actualLatestTestResults[0].SuiteName); Assert.AreEqual(utcNow, actualLatestTestResults[0].PassingFromDate); Assert.IsNull(actualLatestTestResults[0].FailingFromDate); Assert.AreEqual(0, actualLatestTestResults[0].TestFailureDurations.ToList().Count); }
public void SortsByFailingTheLongestThenPassingTheShortest() { var utcNow = DateTime.UtcNow; var latestTestResultDtos = new List <LatestTestResultDto> { new LatestTestResultDto { SuiteId = 1, TestResultID = 2, TestName = "test passing the longest", PassingFromDate = new DateTime(2018, 3, 1, 1, 00, 00), }, new LatestTestResultDto { SuiteId = 1, TestResultID = 3, TestName = "test failing the longest", FailingFromDate = new DateTime(2018, 3, 1, 1, 00, 00), }, new LatestTestResultDto { SuiteId = 1, TestResultID = 4, TestName = "test passing the shortest", PassingFromDate = new DateTime(2018, 3, 1, 1, 01, 00), }, new LatestTestResultDto { SuiteId = 1, TestResultID = 5, TestName = "test failing the shortest", FailingFromDate = new DateTime(2018, 3, 1, 1, 01, 00), } }; var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(new List <TestFailureDurationDto>()); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var actualLatestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(4, actualLatestTestResults.Count); Assert.AreEqual("test failing the longest", actualLatestTestResults[0].TestName); Assert.AreEqual("test failing the shortest", actualLatestTestResults[1].TestName); Assert.AreEqual("test passing the shortest", actualLatestTestResults[2].TestName); Assert.AreEqual("test passing the longest", actualLatestTestResults[3].TestName); }
public void ZeroTestResults() { var latestTestResultDtos = new List <LatestTestResultDto>(); var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(new List <TestFailureDurationDto>()); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var actualLatestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(0, actualLatestTestResults.Count); }
public void MultipleTestFailureDurationsWithAndWithoutEndDate() { var utcNow = DateTime.UtcNow; var latestTestResultDtos = new List <LatestTestResultDto> { new LatestTestResultDto { SuiteId = 1, TestId = 2, PassingFromDate = utcNow, } }; var mockLatestTestResultsService = new Mock <ILatestTestResultService>(); mockLatestTestResultsService.Setup(s => s.Get(1)).Returns(latestTestResultDtos); var testFailureDurationDtos = new List <TestFailureDurationDto> { new TestFailureDurationDto { SuiteId = 1, TestId = 2, FailureStart = utcNow }, new TestFailureDurationDto { SuiteId = 1, TestId = 2, FailureStart = utcNow.AddMinutes(5), FailureEnd = utcNow.AddMinutes(10) } }; var mockTestFailureDurationService = new Mock <ITestFailureDurationService>(); mockTestFailureDurationService.Setup(f => f.GetAll()).Returns(testFailureDurationDtos); var testResultService = new TestResultService(new Mock <IDbContext>().Object, mockLatestTestResultsService.Object, mockTestFailureDurationService.Object, new Mock <ISuiteService>().Object); var actualLatestTestResults = testResultService.GetLatest(1).ToList(); Assert.AreEqual(1, actualLatestTestResults.Count); Assert.AreEqual(2, actualLatestTestResults[0].TestFailureDurations.Count()); Assert.AreEqual(utcNow, actualLatestTestResults[0].TestFailureDurations.ToList()[0].FailureStart); Assert.IsNull(actualLatestTestResults[0].TestFailureDurations.ToList()[0].FailureEnd); Assert.AreEqual(utcNow.AddMinutes(5), actualLatestTestResults[0].TestFailureDurations.ToList()[1].FailureStart); Assert.AreEqual(utcNow.AddMinutes(10), actualLatestTestResults[0].TestFailureDurations.ToList()[1].FailureEnd); }