Skip to content

Commit 9a54720

Browse files
committed
Add tests:
- Multiple query parameters with the same name - Query parameters with non-string values
1 parent ebd6e62 commit 9a54720

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/RestSharp/Request/RestRequestExtensions.Query.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static partial class RestRequestExtensions {
2626
/// <param name="encode">Encode the value or not, default true</param>
2727
/// <returns></returns>
2828
public RestRequest AddQueryParameter(string name, string? value, bool encode = true)
29-
=> request.AddOrUpdateParameter(new QueryParameter(name, value, encode));
29+
=> request.AddParameter(new QueryParameter(name, value, encode));
3030

3131
/// <summary>
3232
/// Adds a query string parameter to the request. The request resource should not contain any placeholders for this parameter.

test/RestSharp.Tests/UrlBuilderTests.Get.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,4 +198,30 @@ public void GET_wth_trailing_slash_and_query_parameters() {
198198
var output = client.BuildUri(request);
199199
Assert.Equal(expected, output);
200200
}
201+
202+
[Fact]
203+
public void Multiple_query_parameters_with_same_name() {
204+
var request = new RestRequest($"/{Resource}/")
205+
.AddQueryParameter("foo", "bar")
206+
.AddQueryParameter("foo", "baz");
207+
var expected = new Uri($"{Base}/{Resource}/?foo=bar&foo=baz");
208+
209+
using var client = new RestClient(Base);
210+
211+
var output = client.BuildUri(request);
212+
Assert.Equal(expected, output);
213+
}
214+
215+
[Fact]
216+
public void Query_parameter_with_non_string_value() {
217+
var request = new RestRequest($"/{Resource}/")
218+
.AddQueryParameter("foo", 123)
219+
.AddQueryParameter("bar", true);
220+
var expected = new Uri($"{Base}/{Resource}/?foo=123&bar=True");
221+
222+
using var client = new RestClient(Base);
223+
224+
var output = client.BuildUri(request);
225+
Assert.Equal(expected, output);
226+
}
201227
}

0 commit comments

Comments
 (0)