Ejemplo n.º 1
0
        public void BuildTestRunResultMessage_DateTime_ShouldReturnTestRunResultMessageObject()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);

            // ACT
            var actualTestRunStartedMessageResult = cucumberMessageFactory.BuildTestRunStartedMessage(dateTime);

            // ASSERT
            actualTestRunStartedMessageResult.Should().BeAssignableTo <ISuccess <TestRunStarted> >();
        }
        public void BuildTestRunFinished_UtcDateTime_ShouldReturnSuccess()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);

            // ACT
            var result = cucumberMessageFactory.BuildTestRunFinishedMessage(true, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestRunFinished> >();
        }
        public void BuildTestRunFinished_DateTimeWithInvalidKind_ShouldReturnFailure(DateTimeKind dateTimeKind)
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, dateTimeKind);

            // ACT
            var result = cucumberMessageFactory.BuildTestRunFinishedMessage(true, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <IFailure <TestRunFinished> >();
        }
Ejemplo n.º 4
0
        public void BuildTestCaseStarted_PlatformInformationIsNull_ShouldReturnFailue()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId = Guid.NewGuid();

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseStartedMessage(pickleId, dateTime, null);

            // ASSERT
            result.Should().BeAssignableTo <IFailure>();
        }
        public void BuildTestRunFinished_SuccessValue_ShouldReturnTestRunFinishedMessageWithSpecifiedSuccessValue(bool inputSuccess, bool expectedSuccess)
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);

            // ACT
            var result = cucumberMessageFactory.BuildTestRunFinishedMessage(inputSuccess, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestRunFinished> >().Which
            .Result.Success.Should().Be(expectedSuccess);
        }
Ejemplo n.º 6
0
        public void BuildTestCaseStarted_UtcDate_ShouldReturnSuccess()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId = Guid.NewGuid();

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseStartedMessage(pickleId, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestCaseStarted> >();
        }
Ejemplo n.º 7
0
        public void BuildTestRunResultMessage_NonUtcDate_ShouldReturnFailure(DateTimeKind dateTimeKind)
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, dateTimeKind);
            var pickleId = Guid.NewGuid();

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseStartedMessage(pickleId, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <IFailure>();
        }
Ejemplo n.º 8
0
        public void BuildTestCaseFinished_NullTestResult_ShouldReturnExceptionFailure()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId = Guid.NewGuid();

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseFinishedMessage(pickleId, dateTime, default);

            // ASSERT
            result.Should().BeAssignableTo <ExceptionFailure <TestCaseFinished> >().Which
            .Exception.Should().BeOfType <ArgumentNullException>();
        }
Ejemplo n.º 9
0
        public void BuildTestCaseStarted_ValidData_ShouldReturnMessageWithCorrectPickleId()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId = Guid.NewGuid();

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseStartedMessage(pickleId, dateTime);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestCaseStarted> >().Which
            .Result.PickleId.Should().Be(pickleId.ToString("D"));
        }
Ejemplo n.º 10
0
        public void BuildTestRunResultMessage_ValidParameters_ShouldReturnTestRunResultMessageObjectWithSpecFlowAsUsedCucumberImplementation()
        {
            // ARRANGE
            const string expectedCucumberImplementation = @"SpecFlow";
            var          cucumberMessageFactory         = new CucumberMessageFactory();
            var          dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);

            // ACT
            var actualTestRunStartedMessageResult = cucumberMessageFactory.BuildTestRunStartedMessage(dateTime);

            // ASSERT

            actualTestRunStartedMessageResult.Should().BeAssignableTo <ISuccess <TestRunStarted> >()
            .Which.Result.CucumberImplementation.Should().Be(expectedCucumberImplementation);
        }
        public void BuildEnvelopeMessage_TestCaseFinishedSuccess_ShouldReturnEnvelopeWithTestCaseFinishedMessage()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var testCaseFinished       = new TestCaseFinished
            {
                PickleId   = Guid.NewGuid().ToString(),
                TestResult = new TestResult(),
                Timestamp  = new Timestamp()
            };

            // ACT
            var result = cucumberMessageFactory.BuildEnvelopeMessage(new Success <TestCaseFinished>(testCaseFinished));

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <Envelope> >().Which
            .Result.TestCaseFinished.Should().Be(testCaseFinished);
        }
Ejemplo n.º 12
0
        public void BuildEnvelopeMessage_TestCaseFinishedSuccess_ShouldReturnEnvelopeOfTypeTestCaseFinished()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime         = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var testCaseFinished = new TestCaseFinished
            {
                PickleId   = Guid.NewGuid().ToString(),
                TestResult = new TestResult(),
                Timestamp  = Timestamp.FromDateTime(dateTime)
            };

            // ACT
            var result = cucumberMessageFactory.BuildEnvelopeMessage(new Success <TestCaseFinished>(testCaseFinished));

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <Envelope> >().Which
            .Result.MessageCase.Should().Be(Envelope.MessageOneofCase.TestCaseFinished);
        }
Ejemplo n.º 13
0
        public void BuildTestCaseFinished_NonUtcDateTime_ShouldReturnFailure(DateTimeKind dateTimeKind)
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime   = new DateTime(2019, 5, 9, 14, 27, 48, dateTimeKind);
            var pickleId   = Guid.NewGuid();
            var testResult = new TestResult
            {
                DurationNanoseconds = 1000,
                Message             = "",
                Status = Status.Passed
            };

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseFinishedMessage(pickleId, dateTime, testResult);

            // ASSERT
            result.Should().BeAssignableTo <IFailure <TestCaseFinished> >();
        }
Ejemplo n.º 14
0
        public void BuildTestCaseStarted_UtcDate_ShouldReturnSuccess()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId = Guid.NewGuid();
            var platform = new Platform
            {
                Cpu            = "x64",
                Implementation = "SpecFlow",
                Os             = "Windows",
                Version        = "3.1.0"
            };

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseStartedMessage(pickleId, dateTime, platform);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestCaseStarted> >();
        }
Ejemplo n.º 15
0
        public void BuildTestCaseFinished_TestResult_ShouldReturnMessageWithCorrectTestResult()
        {
            // ARRANGE
            var cucumberMessageFactory = new CucumberMessageFactory();
            var dateTime   = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc);
            var pickleId   = Guid.NewGuid();
            var testResult = new TestResult
            {
                DurationNanoseconds = 1000,
                Message             = "",
                Status = Status.Passed
            };

            // ACT
            var result = cucumberMessageFactory.BuildTestCaseFinishedMessage(pickleId, dateTime, testResult);

            // ASSERT
            result.Should().BeAssignableTo <ISuccess <TestCaseFinished> >().Which
            .Result.TestResult.Should().Be(testResult);
        }