using TarninaHub.Application.Abstractions; using TarninaHub.Application.Dtos; namespace TarninaHub.Tests.Stubs; /// Minimal IIdeaService stub for controller tests. public sealed class StubIdeaService : IIdeaService { public IdeaResponse? Idea { get; set; } public Task CreateAsync(string authorId, CreateIdeaRequest request, CancellationToken cancellationToken) => Task.FromResult(Idea ?? throw new InvalidOperationException()); public Task GetAsync(string ideaId, CancellationToken cancellationToken) => Task.FromResult(Idea); public Task> ListForAuthorAsync(string authorId, CancellationToken cancellationToken) => Task.FromResult>(Idea is null ? [] : [Idea]); public Task UpdateAsync(string ideaId, UpdateIdeaRequest request, CancellationToken cancellationToken) => Task.FromResult(Idea); public Task GetCardAsync(string ideaId, CancellationToken cancellationToken) => Task.FromResult(null); public Task UpdateCardAsync(string ideaId, IdeaCardRequest request, CancellationToken cancellationToken) => Task.FromResult(null); }