コード例 #1
0
            public void ThrowsIfSuiteResultDoesNotExist()
            {
                var mockTests = new List <DbTest>().ToDbSetMock();

                mockTests.Setup(m => m.AsNoTracking()).Returns(mockTests.Object);
                mockTests.Setup(m => m.Include(It.IsAny <string>())).Returns(mockTests.Object);

                var mockTestResultMapper = new Mock <ITestResultMapper>();

                mockTestResultMapper.Setup(t => t.ToDbTestResultTypeId(TestResultType.Inconclusive)).Returns(2);

                var mockTestCategories = new List <DbTestCategory>().ToDbSetMock();

                var mockSuiteResults = new List <DbSuiteResult>().ToDbSetMock();

                mockSuiteResults.Setup(m => m.AsNoTracking()).Returns(mockSuiteResults.Object);

                var mockContext = new Mock <ZigNetEntities>();

                mockContext.Setup(m => m.Tests).Returns(mockTests.Object);
                mockContext.Setup(m => m.TestCategories).Returns(mockTestCategories.Object);
                mockContext.Setup(m => m.SuiteResults).Returns(mockSuiteResults.Object);

                var zignetEntitiesWrapperMock = new Mock <IDbContext>();

                zignetEntitiesWrapperMock.Setup(z => z.Get()).Returns(mockContext.Object);

                var testResult = new TestResult
                {
                    Test = new Test
                    {
                        Name       = "test 1",
                        Categories = new List <TestCategory>()
                    },
                    SuiteResult = new SuiteResult {
                        SuiteResultID = 3
                    }
                };

                var testResultSaverService = new TestResultSaverService(zignetEntitiesWrapperMock.Object,
                                                                        new Mock <ILatestTestResultService>().Object, new Mock <ITemporaryTestResultService>().Object,
                                                                        new Mock <ITestFailureDurationService>().Object, new Mock <ITestStepService>().Object,
                                                                        mockTestResultMapper.Object);

                testResultSaverService.Save(testResult);
            }
コード例 #2
0
            public void SavesExistingTestFailedTestResult()
            {
                var mockTests = new List <DbTest>
                {
                    new DbTest {
                        TestName       = "existing test", TestID = 1,
                        TestCategories = new List <DbTestCategory>(),
                        Suites         = new List <Suite> {
                            new Suite {
                                SuiteID = 2
                            }
                        }
                    }
                }.ToDbSetMock();

                mockTests.Setup(m => m.AsNoTracking()).Returns(mockTests.Object);
                mockTests.Setup(m => m.Include(It.IsAny <string>())).Returns(mockTests.Object);

                var mockTestResultMapper = new Mock <ITestResultMapper>();

                mockTestResultMapper.Setup(t => t.ToDbTestResultTypeId(TestResultType.Fail)).Returns(1);
                mockTestResultMapper.Setup(t => t.ToTestResultType(1)).Returns(TestResultType.Fail);
                mockTestResultMapper.Setup(t => t.ToDbTestFailureTypeId(TestFailureType.Assertion)).Returns(1);
                mockTestResultMapper.Setup(t => t.ToTestFailureType(1)).Returns(TestFailureType.Assertion);

                var mockTestFailureTypes = new List <DbTestFailureType> {
                    new DbTestFailureType {
                        TestFailureTypeID = 1, TestFailureTypeName = "Assertion"
                    }
                }.ToDbSetMock();

                var mockTestCategories = new List <DbTestCategory>().ToDbSetMock();

                var mockSuiteResults = new List <DbSuiteResult>
                {
                    new DbSuiteResult {
                        SuiteResultID = 3, SuiteId = 2
                    }
                }.ToDbSetMock();

                mockSuiteResults.Setup(m => m.AsNoTracking()).Returns(mockSuiteResults.Object);

                var mockSuites = new List <Suite>
                {
                    new Suite {
                        SuiteID = 2
                    }
                }.ToDbSetMock();

                mockSuites.Setup(m => m.AsNoTracking()).Returns(mockSuites.Object);
                mockSuites.Setup(m => m.Include(It.IsAny <string>())).Returns(mockSuites.Object);

                var mockTestResults = new List <DbTestResult>().ToDbSetMock();

                var mockContext = new Mock <ZigNetEntities>();

                mockContext.Setup(m => m.Tests).Returns(mockTests.Object);
                mockContext.Setup(m => m.TestFailureTypes).Returns(mockTestFailureTypes.Object);
                mockContext.Setup(m => m.TestCategories).Returns(mockTestCategories.Object);
                mockContext.Setup(m => m.SuiteResults).Returns(mockSuiteResults.Object);
                mockContext.Setup(m => m.Suites).Returns(mockSuites.Object);
                mockContext.Setup(m => m.TestResults).Returns(mockTestResults.Object);

                var zignetEntitiesWrapperMock = new Mock <IDbContext>();

                zignetEntitiesWrapperMock.Setup(z => z.Get()).Returns(mockContext.Object);

                var now        = DateTime.UtcNow;
                var testResult = new TestResult
                {
                    Test = new Test
                    {
                        Name       = "existing test",
                        Categories = new List <TestCategory>()
                    },
                    SuiteResult = new SuiteResult {
                        SuiteResultID = 3
                    },
                    ResultType         = TestResultType.Fail,
                    TestFailureDetails = new TestFailureDetails {
                        FailureType = TestFailureType.Assertion
                    },
                    StartTime = now,
                    EndTime   = now.AddSeconds(1)
                };

                var testResultSaverService = new TestResultSaverService(zignetEntitiesWrapperMock.Object,
                                                                        new Mock <ILatestTestResultService>().Object, new Mock <ITemporaryTestResultService>().Object,
                                                                        new Mock <ITestFailureDurationService>().Object, new Mock <ITestStepService>().Object,
                                                                        mockTestResultMapper.Object);
                var savedTestResult = testResultSaverService.Save(testResult);

                Assert.AreEqual(0, savedTestResult.TestResultID);
                Assert.AreEqual(1, savedTestResult.Test.TestID);
                Assert.AreEqual("existing test", savedTestResult.Test.Name);
                Assert.AreEqual(3, savedTestResult.SuiteResult.SuiteResultID);
                Assert.AreEqual(TestResultType.Fail, savedTestResult.ResultType);
                Assert.AreEqual(now, savedTestResult.StartTime);
                Assert.AreEqual(now.AddSeconds(1), savedTestResult.EndTime);
                Assert.AreEqual(TestFailureType.Assertion, savedTestResult.TestFailureDetails.FailureType);
                Assert.IsNull(savedTestResult.TestFailureDetails.FailureDetailMessage);
                Assert.AreEqual(1, savedTestResult.Test.Suites.Count);
                Assert.AreEqual(2, savedTestResult.Test.Suites.ToList()[0].SuiteID);
                Assert.AreEqual(0, savedTestResult.Test.Categories.Count);
            }
コード例 #3
0
            public void ClearsAllExistingTestCategories()
            {
                // bug here: there is no way for existing categories to be removed

                var mockTests = new List <DbTest>
                {
                    new DbTest {
                        TestName       = "existing test", TestID = 1,
                        TestCategories = new List <DbTestCategory> {
                            new DbTestCategory {
                                TestCategoryID = 4, CategoryName = "existing test category"
                            }
                        },
                        Suites = new List <Suite> {
                            new Suite {
                                SuiteID = 2
                            }
                        }
                    }
                }.ToDbSetMock();

                mockTests.Setup(m => m.AsNoTracking()).Returns(mockTests.Object);
                mockTests.Setup(m => m.Include(It.IsAny <string>())).Returns(mockTests.Object);

                var mockTestResultMapper = new Mock <ITestResultMapper>();

                mockTestResultMapper.Setup(t => t.ToDbTestResultTypeId(TestResultType.Inconclusive)).Returns(2);

                var mockTestCategories = new List <DbTestCategory> {
                    new DbTestCategory {
                        TestCategoryID = 4, CategoryName = "existing test category"
                    }
                }.ToDbSetMock();

                var mockSuiteResults = new List <DbSuiteResult>
                {
                    new DbSuiteResult {
                        SuiteResultID = 3, SuiteId = 2
                    }
                }.ToDbSetMock();

                mockSuiteResults.Setup(m => m.AsNoTracking()).Returns(mockSuiteResults.Object);

                var mockSuites = new List <Suite>
                {
                    new Suite {
                        SuiteID = 2
                    }
                }.ToDbSetMock();

                mockSuites.Setup(m => m.AsNoTracking()).Returns(mockSuites.Object);
                mockSuites.Setup(m => m.Include(It.IsAny <string>())).Returns(mockSuites.Object);

                var mockTestResults = new List <DbTestResult>().ToDbSetMock();

                var mockContext = new Mock <ZigNetEntities>();

                mockContext.Setup(m => m.Tests).Returns(mockTests.Object);
                mockContext.Setup(m => m.TestCategories).Returns(mockTestCategories.Object);
                mockContext.Setup(m => m.SuiteResults).Returns(mockSuiteResults.Object);
                mockContext.Setup(m => m.Suites).Returns(mockSuites.Object);
                mockContext.Setup(m => m.TestResults).Returns(mockTestResults.Object);

                var zignetEntitiesWrapperMock = new Mock <IDbContext>();

                zignetEntitiesWrapperMock.Setup(z => z.Get()).Returns(mockContext.Object);

                var testResult = new TestResult
                {
                    Test = new Test
                    {
                        Name       = "existing test",
                        Categories = new List <TestCategory>()
                    },
                    SuiteResult = new SuiteResult {
                        SuiteResultID = 3
                    }
                };

                var testResultSaverService = new TestResultSaverService(zignetEntitiesWrapperMock.Object,
                                                                        new Mock <ILatestTestResultService>().Object, new Mock <ITemporaryTestResultService>().Object,
                                                                        new Mock <ITestFailureDurationService>().Object, new Mock <ITestStepService>().Object,
                                                                        mockTestResultMapper.Object);
                var savedTestResult = testResultSaverService.Save(testResult);

                Assert.AreEqual(0, savedTestResult.TestResultID);
                Assert.AreEqual(1, savedTestResult.Test.TestID);
                Assert.AreEqual("existing test", savedTestResult.Test.Name);
                Assert.AreEqual(3, savedTestResult.SuiteResult.SuiteResultID);
                Assert.AreEqual(TestResultType.Inconclusive, savedTestResult.ResultType);
                Assert.AreEqual(new DateTime(), savedTestResult.StartTime);
                Assert.AreEqual(new DateTime(), savedTestResult.EndTime);
                Assert.IsNull(savedTestResult.TestFailureDetails);
                Assert.AreEqual(1, savedTestResult.Test.Suites.Count);
                Assert.AreEqual(2, savedTestResult.Test.Suites.ToList()[0].SuiteID);
                // fails
                //Assert.AreEqual(0, testCategories.Count);
            }
コード例 #4
0
            public void DoesNotAssignTestIdWhenTestWithSameNameDoesNotExist()
            {
                var mockTests = new List <DbTest>().ToDbSetMock();

                mockTests.Setup(m => m.AsNoTracking()).Returns(mockTests.Object);
                mockTests.Setup(m => m.Include(It.IsAny <string>())).Returns(mockTests.Object);

                var mockTestResultMapper = new Mock <ITestResultMapper>();

                mockTestResultMapper.Setup(t => t.ToDbTestResultTypeId(TestResultType.Inconclusive)).Returns(2);

                var mockTestCategories = new List <DbTestCategory>().ToDbSetMock();

                var mockSuiteResults = new List <DbSuiteResult>
                {
                    new DbSuiteResult {
                        SuiteResultID = 3, SuiteId = 2
                    }
                }.ToDbSetMock();

                mockSuiteResults.Setup(m => m.AsNoTracking()).Returns(mockSuiteResults.Object);

                var mockSuites = new List <Suite>
                {
                    new Suite {
                        SuiteID = 2
                    }
                }.ToDbSetMock();

                mockSuites.Setup(m => m.AsNoTracking()).Returns(mockSuites.Object);
                mockSuites.Setup(m => m.Include(It.IsAny <string>())).Returns(mockSuites.Object);

                var mockTestResults = new List <DbTestResult>().ToDbSetMock();

                var mockContext = new Mock <ZigNetEntities>();

                mockContext.Setup(m => m.Tests).Returns(mockTests.Object);
                mockContext.Setup(m => m.TestCategories).Returns(mockTestCategories.Object);
                mockContext.Setup(m => m.SuiteResults).Returns(mockSuiteResults.Object);
                mockContext.Setup(m => m.Suites).Returns(mockSuites.Object);
                mockContext.Setup(m => m.TestResults).Returns(mockTestResults.Object);

                var zignetEntitiesWrapperMock = new Mock <IDbContext>();

                zignetEntitiesWrapperMock.Setup(z => z.Get()).Returns(mockContext.Object);

                var testResult = new TestResult
                {
                    Test = new Test
                    {
                        Name       = "new test",
                        Categories = new List <TestCategory>()
                    },
                    SuiteResult = new SuiteResult {
                        SuiteResultID = 3
                    }
                };

                var testResultSaverService = new TestResultSaverService(zignetEntitiesWrapperMock.Object,
                                                                        new Mock <ILatestTestResultService>().Object, new Mock <ITemporaryTestResultService>().Object,
                                                                        new Mock <ITestFailureDurationService>().Object, new Mock <ITestStepService>().Object,
                                                                        mockTestResultMapper.Object);
                var savedTestResult = testResultSaverService.Save(testResult);

                Assert.AreEqual(0, savedTestResult.TestResultID);
                Assert.AreEqual(0, savedTestResult.Test.TestID);
                Assert.AreEqual("new test", savedTestResult.Test.Name);
                Assert.AreEqual(3, savedTestResult.SuiteResult.SuiteResultID);
                Assert.AreEqual(TestResultType.Inconclusive, savedTestResult.ResultType);
                Assert.AreEqual(new DateTime(), savedTestResult.StartTime);
                Assert.AreEqual(new DateTime(), savedTestResult.EndTime);
                Assert.IsNull(savedTestResult.TestFailureDetails);
                Assert.AreEqual(1, savedTestResult.Test.Suites.Count);
                Assert.AreEqual(2, savedTestResult.Test.Suites.ToList()[0].SuiteID);
                Assert.AreEqual(0, savedTestResult.Test.Categories.Count);
            }