Exemple #1
0
        public void SendTestRunStarted_ShouldSendTestRunStartedWithCorrectTimeStampToSink()
        {
            // ARRANGE
            var now = new DateTime(2019, 5, 9, 15, 46, 5, DateTimeKind.Utc);

            Envelope sentMessage = default;

            var cucumberMessageSinkMock = new Mock <ICucumberMessageSink>();

            cucumberMessageSinkMock.Setup(m => m.SendMessage(It.IsAny <Envelope>()))
            .Callback <Envelope>(m => sentMessage = m);

            var cucumberMessageFactoryMock = GetCucumberMessageFactoryMock();
            var fieldValueProviderMock     = GetFieldValueProviderMock(testRunStartedTimeStamp: now);
            var platformFactoryMock        = GetPlatformFactoryMock();

            var cucumberMessageSender = new CucumberMessageSender(cucumberMessageFactoryMock.Object, platformFactoryMock.Object, cucumberMessageSinkMock.Object, fieldValueProviderMock.Object);

            // ACT
            cucumberMessageSender.SendTestRunStarted();

            // ASSERT
            sentMessage.MessageCase.Should().Be(Envelope.MessageOneofCase.TestRunStarted);
            sentMessage.TestRunStarted.Timestamp.ToDateTime().Should().Be(now);
        }
        public void SendTestRunStarted_ShouldSendTestRunStartedToSink()
        {
            // ARRANGE
            Envelope sentMessage = default;

            var cucumberMessageSinkMock = new Mock <ICucumberMessageSink>();

            cucumberMessageSinkMock.Setup(m => m.SendMessage(It.IsAny <Envelope>()))
            .Callback <Envelope>(m => sentMessage = m);

            var cucumberMessageFactoryMock         = GetCucumberMessageFactoryMock();
            var fieldValueProviderMock             = GetFieldValueProviderMock();
            var platformFactoryMock                = GetPlatformFactoryMock();
            var testRunResultSuccessCalculatorMock = GetTestRunResultSuccessCalculatorMock();

            var sinkProviderMock = new Mock <ISinkProvider>();

            sinkProviderMock.Setup(m => m.GetMessageSinksFromConfiguration()).Returns(new List <ICucumberMessageSink>()
            {
                cucumberMessageSinkMock.Object
            });

            var cucumberMessageSender = new CucumberMessageSender(cucumberMessageFactoryMock.Object, platformFactoryMock.Object, fieldValueProviderMock.Object, testRunResultSuccessCalculatorMock.Object, sinkProviderMock.Object);

            // ACT
            cucumberMessageSender.SendTestRunStarted();

            // ASSERT
            sentMessage.MessageCase.Should().Be(Envelope.MessageOneofCase.TestRunStarted);
        }
        public void SendTestRunStarted_ShouldSendTestRunStartedToSink()
        {
            // ARRANGE
            Wrapper sentMessage = default;

            var cucumberMessageSinkMock = new Mock <ICucumberMessageSink>();

            cucumberMessageSinkMock.Setup(m => m.SendMessage(It.IsAny <Wrapper>()))
            .Callback <Wrapper>(m => sentMessage = m);

            var cucumberMessageFactoryMock = GetCucumberMessageFactoryMock();
            var fieldValueProviderMock     = GetFieldValueProviderMock();

            var cucumberMessageSender = new CucumberMessageSender(cucumberMessageFactoryMock.Object, cucumberMessageSinkMock.Object, fieldValueProviderMock.Object);

            // ACT
            cucumberMessageSender.SendTestRunStarted();

            // ASSERT
            sentMessage.MessageCase.Should().Be(Wrapper.MessageOneofCase.TestRunStarted);
        }
        public void SendTestCaseStarted_ValidParameters_ShouldSendTestRunStartedToSink()
        {
            // ARRANGE
            Wrapper sentMessage = default;

            var cucumberMessageSinkMock = new Mock <ICucumberMessageSink>();

            cucumberMessageSinkMock.Setup(m => m.SendMessage(It.IsAny <Wrapper>()))
            .Callback <Wrapper>(m => sentMessage = m);

            var cucumberMessageFactoryMock = GetCucumberMessageFactoryMock();
            var fieldValueProviderMock     = GetFieldValueProviderMock();

            var cucumberMessageSender = new CucumberMessageSender(cucumberMessageFactoryMock.Object, cucumberMessageSinkMock.Object, fieldValueProviderMock.Object);
            var scenarioInfo          = new ScenarioInfo("Test", "Description", "Tag1");

            // ACT
            cucumberMessageSender.SendTestCaseStarted(scenarioInfo);

            // ASSERT
            sentMessage.MessageCase.Should().Be(Wrapper.MessageOneofCase.TestCaseStarted);
        }
        public void SendTestRunStarted_ShouldSendTestRunStartedWithSpecFlowAsUsedCucumberImplementationToSink()
        {
            // ARRANGE
            const string expectedCucumberImplementation = @"SpecFlow";
            Wrapper      sentMessage = default;

            var cucumberMessageSinkMock = new Mock <ICucumberMessageSink>();

            cucumberMessageSinkMock.Setup(m => m.SendMessage(It.IsAny <Wrapper>()))
            .Callback <Wrapper>(m => sentMessage = m);

            var cucumberMessageFactoryMock = GetCucumberMessageFactoryMock();
            var fieldValueProviderMock     = GetFieldValueProviderMock();

            var cucumberMessageSender = new CucumberMessageSender(cucumberMessageFactoryMock.Object, cucumberMessageSinkMock.Object, fieldValueProviderMock.Object);

            // ACT
            cucumberMessageSender.SendTestRunStarted();

            // ASSERT
            sentMessage.MessageCase.Should().Be(Wrapper.MessageOneofCase.TestRunStarted);
            sentMessage.TestRunStarted.CucumberImplementation.Should().Be(expectedCucumberImplementation);
        }