using DigitalData.Core.Abstractions.Client; using DigitalData.Core.Client; using Microsoft.Extensions.DependencyInjection; namespace DigitalData.Core.Tests.Client { [TestFixture] public class BaseHttpClientServiceTests { private IServiceProvider _serviceProvider; private IBaseHttpClientService _service; [SetUp] public void SetUp() { _serviceProvider = new ServiceCollection() .AddHttpClientService("https://jsonplaceholder.typicode.com", "todos") .BuildServiceProvider(); _service = _serviceProvider.GetRequiredService(); } [Test] public async Task FetchJsonAsync_ShouldReturnJsonResponse() { // Act var expectedUserId = (int) await _service.FetchAsync(path: "/1", sendWithCookie: false, saveCookie: false) .ThenAsync(res => res.Json()) .ThenAsync(todo => todo.userId); // Assert Assert.That(expectedUserId, Is.EqualTo(1), "The userId of the fetched JSON object should be 1."); } } }