furniture-bff/tests/Furniture.Bff.Application.UnitTests/GetFurnitureAvailabilityHandlerTests.cs
José René White Enciso 1df7551e41 feat(stage3): scaffold task-001 baseline
- WHY: establish Stage 3 task-001 execution baseline per repo intent
- WHAT: add minimal solution/project skeleton and boundary docs
- RULE: apply stage3 execution runtime and repository workflow directives
2026-02-22 01:30:02 -06:00

28 lines
923 B
C#

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<GetFurnitureAvailabilityApiResponse> GetAvailabilityAsync(string furnitureId)
{
return Task.FromResult(new GetFurnitureAvailabilityApiResponse(furnitureId, 3));
}
}
}