예제 #1
0
            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);
            }
예제 #2
0
            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());
            }
예제 #3
0
            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);
            }
예제 #4
0
            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);
            }
예제 #5
0
            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);
            }
예제 #6
0
            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);
            }