public void Should_get_response_when_merge_request() { var requestJson = @"{ ""name"": ""Tiago Resende"", ""age"": 31 }"; var responseMockJson = @"{ ""id"": 1 }"; var requestBody = JsonConvert.DeserializeObject <JObject>(requestJson); var responseBody = JsonConvert.DeserializeObject <JObject>(responseMockJson); var request = new RequestFake { Path = "users", Method = HttpMethod.Post.Method, Response = responseBody, ResponseBuilderType = ResponseBuilderType.RequestMerge }; var response = request.GetResponse(requestBody); response["name"].Value <string>().Should().Be("Tiago Resende"); response["age"].Value <int>().Should().Be(31); response["id"].Value <int>().Should().Be(1); }
public RequestFakeRepository(IReadOnlyList <RequestFake> requestFakes) { _requestFakes = requestFakes ?? throw new ArgumentNullException(nameof(requestFakes)); _defaultRequest = new RequestFake { Method = "*", Path = ".*", ResponseBuilderType = ResponseBuilderType.RequestReflect }; }
public void Should_get_url_parameters(string path, string requestPath, string parameter, string parameterValue) { var request = new RequestFake { Path = path, Method = "GET", ResponseBuilderType = ResponseBuilderType.ResponseCopy }; request.GetUrlParams(requestPath) .Should() .ContainKey(parameter) .And .ContainValue(parameterValue); }
public void Should_throw_when_builder_type_invalid() { var request = new RequestFake { Path = "users", Method = "Get", ResponseBuilderType = "invalid" }; request .Invoking(x => x.GetResponse(new JObject())) .Should() .Throw <ArgumentException>() .And .ParamName .Should() .Be("ResponseBuilderType"); }
public void Should_get_response_when_has_null_value() { var requestJson = @"{ ""name"": ""Tiago Resende"", ""age"": 31, ""null_value"": null }"; var requestBody = JsonConvert.DeserializeObject <JObject>(requestJson); var request = new RequestFake { Path = "users", Method = HttpMethod.Post.Method, Response = null, ResponseBuilderType = ResponseBuilderType.RequestReflect }; request.Invoking(x => x.GetResponse(requestBody)) .Should() .NotThrow(); }
public void Should_get_response_when_has_array_value() { var requestJson = @"{ ""name"": ""Tiago Resende"", ""age"": 31, ""contacts"": [ { ""contact"": ""contact 1"" } ] }"; var requestBody = JsonConvert.DeserializeObject <JObject>(requestJson); var request = new RequestFake { Path = "users", Method = HttpMethod.Post.Method, Response = null, ResponseBuilderType = ResponseBuilderType.RequestReflect }; var result = request.GetResponse(requestBody); result["contacts"].Should().HaveCount(1); result["contacts"].ToList().First()["contact"].Value <string>().Should().Be("contact 1"); }