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); }
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))); }