Files
Hy2026/tests/TarninaHub.Tests/Stubs/StubIdeaService.cs
T
Rafał Tyński ded596d872 test(ideas): cover workflow, application window and controller outcomes
Add unit tests for idea status transitions, granted application windows and applications controller status mapping (409 when call closed, 201 on success).
2026-10-04 03:13:50 +02:00

29 lines
1.3 KiB
C#

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