test(backend): cover step 17 modules and extract stubs

Add tests for partnership workflow, middleman adaptation and idea notifications; extract reusable test stubs into separate files; add architecture guard forbidding object-valued dictionaries in data contracts.
This commit is contained in:
Rafał Tyński
2026-10-04 03:49:51 +02:00
parent fa1199539b
commit cca20a9965
15 changed files with 427 additions and 94 deletions
@@ -0,0 +1,34 @@
using TarninaHub.Application.Abstractions;
using TarninaHub.Application.Dtos;
namespace TarninaHub.Tests.Stubs;
/// <summary>Innovation lookup stub returning a fixed (or null) innovation.</summary>
public sealed class StubInnovationLookup : IInnovationService
{
private readonly InnovationResponse? _innovation;
public StubInnovationLookup(InnovationResponse? innovation)
{
_innovation = innovation;
}
public Task<IReadOnlyList<InnovationResponse>> ListAsync(
string? challengeId,
string? stage,
string? query,
bool onlyPublished,
CancellationToken cancellationToken) => Task.FromResult<IReadOnlyList<InnovationResponse>>([]);
public Task<InnovationResponse?> GetAsync(string innovationId, CancellationToken cancellationToken) =>
Task.FromResult(_innovation);
public Task<InnovationResponse> CreateAsync(
InnovationRequest request,
CancellationToken cancellationToken) => throw new NotSupportedException();
public Task<InnovationResponse?> UpdateAsync(
string innovationId,
InnovationRequest request,
CancellationToken cancellationToken) => throw new NotSupportedException();
}