fix(BaseHttpClientService): Null-Kontrolle zum Pfad hinzugefügt

This commit is contained in:
Developer 02 2024-11-22 13:19:42 +01:00
parent 4bb242a4cc
commit dd7f1c1ea0
2 changed files with 16 additions and 9 deletions

View File

@ -48,10 +48,10 @@ namespace DigitalData.Core.Client
uriBuilder.Scheme = scheme;
if (port is int portInt)
uriBuilder.Port = portInt;
uriBuilder.Path = UriCombine(Path, path.Trim(URI_TRIM_CHARS));
uriBuilder.Path = UriCombine(Path, path?.Trim(URI_TRIM_CHARS) ?? string.Empty);
// Add query parameters if provided
if (queryParams?.Count > 0)
if (queryParams?.Any() ?? false)
{
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
foreach (var param in queryParams)

View File

@ -37,16 +37,23 @@ namespace DigitalData.Core.Tests.Client
{
var queryParams = new Dictionary<string, string>
{
{ "userId", "1" }
{ "id", "1" }
};
// Act
var expectedUserId = (int)await _service.FetchAsync(queryParams: queryParams, sendWithCookie: false, saveCookie: false)
.ThenAsync(res => res.Json())
.ThenAsync(todo => todo.userId);
var dyn_id = await _service.FetchAsync(queryParams: queryParams, sendWithCookie: false, saveCookie: false)
.ThenAsync(res => res.JsonList())
.ThenAsync(todo => todo.FirstOrDefault()?.userId);
// Assert
Assert.That(expectedUserId, Is.EqualTo(1), "The userId of the fetched JSON object should be 1.");
try
{
Assert.That((int)dyn_id, Is.EqualTo(1), "The userId of the fetched JSON object should be 1.");
}
catch (InvalidCastException)
{
// Handle the case where the cast is not possible
Assert.Fail("The id could not be cast to an integer.");
}
}
}
}