public void IgnoresIfAlwaysPassed() { var utcNow = DateTime.UtcNow; var mockTestFailureDurations = new List <DbTestFailureDuration>().ToDbSetMock(); var mockContext = new Mock <ZigNetEntities>(); mockContext.Setup(m => m.TestFailureDurations).Returns(mockTestFailureDurations.Object); var mockZignetEntitiesWrapper = new Mock <IDbContext>(); mockZignetEntitiesWrapper.Setup(z => z.Get()).Returns(mockContext.Object); var testFailureDurationDto = new TestFailureDurationDto { SuiteId = 2, TestId = 1, TestResultId = 3 }; var testFailureDurationService = new TestFailureDurationService(mockZignetEntitiesWrapper.Object); var savedTestFailureDurationDto = testFailureDurationService.Save(testFailureDurationDto, TestResultType.Pass, utcNow); Assert.IsNull(savedTestFailureDurationDto); }
public void IgnoresTestFailedDurationIfSecondFailure() { var utcNow = DateTime.UtcNow; var mockTestFailureDurations = new List <DbTestFailureDuration> { new DbTestFailureDuration { TestFailureDurationID = 4, SuiteId = 2, TestId = 1, TestResultId = 3, FailureStartDateTime = utcNow.AddHours(-1) } }.ToDbSetMock(); var mockContext = new Mock <ZigNetEntities>(); mockContext.Setup(m => m.TestFailureDurations).Returns(mockTestFailureDurations.Object); var mockZignetEntitiesWrapper = new Mock <IDbContext>(); mockZignetEntitiesWrapper.Setup(z => z.Get()).Returns(mockContext.Object); var testFailureDurationDto = new TestFailureDurationDto { SuiteId = 2, TestId = 1, TestResultId = 3 }; var testFailureDurationService = new TestFailureDurationService(mockZignetEntitiesWrapper.Object); var savedTestFailureDurationDto = testFailureDurationService.Save(testFailureDurationDto, TestResultType.Fail, utcNow); Assert.IsNull(savedTestFailureDurationDto); }
public void CreatesTestFailedDurationIfFirstFailure() { var utcNow = DateTime.UtcNow; var mockTestFailureDurations = new List <DbTestFailureDuration>().ToDbSetMock(); var mockContext = new Mock <ZigNetEntities>(); mockContext.Setup(m => m.TestFailureDurations).Returns(mockTestFailureDurations.Object); var mockZignetEntitiesWrapper = new Mock <IDbContext>(); mockZignetEntitiesWrapper.Setup(z => z.Get()).Returns(mockContext.Object); var testFailureDurationDto = new TestFailureDurationDto { SuiteId = 2, TestId = 1, TestResultId = 3 }; var testFailureDurationService = new TestFailureDurationService(mockZignetEntitiesWrapper.Object); var savedTestFailureDurationDto = testFailureDurationService.Save(testFailureDurationDto, TestResultType.Fail, utcNow); Assert.AreEqual(0, savedTestFailureDurationDto.TestFailureDurationID); Assert.AreEqual(2, savedTestFailureDurationDto.SuiteId); Assert.AreEqual(1, savedTestFailureDurationDto.TestId); Assert.AreEqual(3, savedTestFailureDurationDto.TestResultId); Assert.AreEqual(utcNow, savedTestFailureDurationDto.FailureStart); Assert.AreEqual(null, savedTestFailureDurationDto.FailureEnd); }
public void UpdatesLatestTestFailureDurationRecord() { var utcNow = DateTime.UtcNow; var mockTestFailureDurations = new List <DbTestFailureDuration> { new DbTestFailureDuration { TestFailureDurationID = 5, SuiteId = 2, TestId = 1, TestResultId = 8, FailureStartDateTime = utcNow.AddHours(-10) }, new DbTestFailureDuration { TestFailureDurationID = 6, SuiteId = 2, TestId = 1, TestResultId = 9, FailureStartDateTime = utcNow.AddHours(-1) }, new DbTestFailureDuration { TestFailureDurationID = 4, SuiteId = 2, TestId = 1, TestResultId = 7, FailureStartDateTime = utcNow.AddHours(-5) } }.ToDbSetMock(); var mockContext = new Mock <ZigNetEntities>(); mockContext.Setup(m => m.TestFailureDurations).Returns(mockTestFailureDurations.Object); var mockZignetEntitiesWrapper = new Mock <IDbContext>(); mockZignetEntitiesWrapper.Setup(z => z.Get()).Returns(mockContext.Object); var testFailureDurationDto = new TestFailureDurationDto { SuiteId = 2, TestId = 1, TestResultId = 10 }; var testFailureDurationService = new TestFailureDurationService(mockZignetEntitiesWrapper.Object); var savedTestFailureDurationDto = testFailureDurationService.Save(testFailureDurationDto, TestResultType.Pass, utcNow); Assert.AreEqual(6, savedTestFailureDurationDto.TestFailureDurationID); Assert.AreEqual(2, savedTestFailureDurationDto.SuiteId); Assert.AreEqual(1, savedTestFailureDurationDto.TestId); Assert.AreEqual(10, savedTestFailureDurationDto.TestResultId); Assert.AreEqual(utcNow.AddHours(-1), savedTestFailureDurationDto.FailureStart); Assert.AreEqual(utcNow, savedTestFailureDurationDto.FailureEnd); }
public TestFailureDurationDto Save(TestFailureDurationDto testFailureDurationDto, TestResultType testResultType, DateTime utcNow) { var latestDbTestFailedDuration = _db.TestFailureDurations .OrderByDescending(f => f.FailureStartDateTime) .FirstOrDefault(f => f.SuiteId == testFailureDurationDto.SuiteId && f.TestId == testFailureDurationDto.TestId ); if (testResultType == TestResultType.Pass && latestDbTestFailedDuration != null && latestDbTestFailedDuration.FailureStartDateTime != null && latestDbTestFailedDuration.FailureEndDateTime == null) { latestDbTestFailedDuration.TestResultId = testFailureDurationDto.TestResultId; latestDbTestFailedDuration.FailureEndDateTime = utcNow; SaveTestFailedDuration(latestDbTestFailedDuration); return(Map(latestDbTestFailedDuration)); } else if (testResultType == TestResultType.Fail || testResultType == TestResultType.Inconclusive) { if (latestDbTestFailedDuration == null || latestDbTestFailedDuration.FailureEndDateTime != null) { var newDbTestFailedDuration = new DbTestFailureDuration { SuiteId = testFailureDurationDto.SuiteId, TestId = testFailureDurationDto.TestId, TestResultId = testFailureDurationDto.TestResultId, FailureStartDateTime = utcNow }; SaveTestFailedDuration(newDbTestFailedDuration); return(Map(newDbTestFailedDuration)); } } return(null); }