using Furniture.Bff.Application.Adapters; using Furniture.Bff.Application.Handlers; using Furniture.Bff.Contracts.Api; namespace Furniture.Bff.Application.UnitTests; public class GetFurnitureAvailabilityHandlerTests { [Fact] public async Task HandleAsync_WhenCalled_DelegatesToServiceClient() { var handler = new GetFurnitureAvailabilityHandler(new FakeFurnitureServiceClient()); var response = await handler.HandleAsync(new GetFurnitureAvailabilityApiRequest("FUR-001")); Assert.Equal("FUR-001", response.FurnitureId); Assert.Equal(3, response.QuantityAvailable); } private sealed class FakeFurnitureServiceClient : IFurnitureServiceClient { public Task GetAvailabilityAsync(string furnitureId) { return Task.FromResult(new GetFurnitureAvailabilityApiResponse(furnitureId, 3)); } } }