Beispiel #1
0
            public void ShouldProcessExternalSteps()
            {
                var mockStepRegistry = new Mock <IStepRegistry>();
                var request          = new StepNameRequest
                {
                    StepValue = "step1"
                };
                var          parsedStepText = request.StepValue;
                const string stepText       = "step1";

                mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true);
                mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText);

                var gaugeMethod = new GaugeMethod
                {
                    FileName   = "foo",
                    IsExternal = true
                };

                mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod);
                var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object);

                var response = stepNameProcessor.Process(request);

                Assert.True(response.IsExternal);
                // Assert.AreEqual(response.FileName, null);
            }
Beispiel #2
0
            public void ShouldProcessStepNameWithAliasRequest()
            {
                var mockStepRegistry = new Mock <IStepRegistry>();
                var request          = new StepNameRequest
                {
                    StepValue = "step1"
                };
                var          parsedStepText = request.StepValue;
                const string stepText       = "step1";

                mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true);
                mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText);

                var gaugeMethod = new GaugeMethod
                {
                    FileName = "foo",
                    HasAlias = true,
                    Aliases  = new List <string> {
                        "step2", "step3"
                    }
                };

                mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod);
                mockStepRegistry.Setup(r => r.HasAlias(stepText)).Returns(true);
                var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object);

                var response = stepNameProcessor.Process(request);

                Assert.AreEqual(response.FileName, "foo");
                Assert.AreEqual(response.StepName[0], "step2");
                Assert.AreEqual(response.StepName[1], "step3");
                Assert.True(response.HasAlias);
            }
        public override Task <StepNameResponse> GetStepName(StepNameRequest request, ServerCallContext context)
        {
            var response = _factory.GetProcessor(Message.Types.MessageType.StepNameRequest)
                           .Process(new Message {
                StepNameRequest = request
            });

            return(Task.FromResult(response.StepNameResponse));
        }
        public StepNameResponse Process(StepNameRequest request)
        {
            var parsedStepText = request.StepValue;
            var isStepPresent  = _stepRegistry.ContainsStep(parsedStepText);
            var response       = new StepNameResponse
            {
                IsStepPresent = isStepPresent
            };

            if (!isStepPresent)
            {
                return(response);
            }

            var stepText = _stepRegistry.GetStepText(parsedStepText);
            var hasAlias = _stepRegistry.HasAlias(stepText);
            var info     = _stepRegistry.MethodFor(parsedStepText);

            response.IsExternal = info.IsExternal;
            response.HasAlias   = hasAlias;
            if (!response.IsExternal)
            {
                response.FileName = info.FileName;
                response.Span     = new Span
                {
                    Start     = info.Span.Span.Start.Line + 1,
                    StartChar = info.Span.StartLinePosition.Character,
                    End       = info.Span.EndLinePosition.Line + 1,
                    EndChar   = info.Span.EndLinePosition.Character
                };
            }

            if (hasAlias)
            {
                response.StepName.AddRange(info.Aliases);
            }
            else
            {
                response.StepName.Add(stepText);
            }

            return(response);
        }
 public override Task <StepNameResponse> GetStepName(StepNameRequest request, ServerCallContext context)
 {
     return(Task.FromResult(this.stepNameRequestProcessor.Process(request)));
 }
 public override Task <StepNameResponse> GetStepName(StepNameRequest request, ServerCallContext context)
 {
     return(_pool.Execute(DefaultExecutionStream, () => this.stepNameRequestProcessor.Process(request)));
 }