Added ReC.Tests project with integration tests for stored procedure commands and queries via MediatR, covering endpoints, actions, results, and profiles. Introduced a test base for DI/configuration, helper for private property access, and updated the solution to include the new test suite. Tests use NUnit and cover both positive and negative scenarios.
62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
using System.Threading.Tasks;
|
|
using MediatR;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using NUnit.Framework;
|
|
using ReC.Application.Common.Procedures.DeleteProcedure;
|
|
using ReC.Application.Common.Procedures.InsertProcedure;
|
|
using ReC.Application.Common.Procedures.UpdateProcedure;
|
|
using ReC.Application.EndpointAuth.Commands;
|
|
using ReC.Tests.Application;
|
|
|
|
namespace ReC.Tests.Application.EndpointAuth;
|
|
|
|
[TestFixture]
|
|
public class EndpointAuthProcedureTests : RecApplicationTestBase
|
|
{
|
|
private (ISender Sender, IServiceScope Scope) CreateScopedSender()
|
|
{
|
|
var scope = ServiceProvider.CreateScope();
|
|
var sender = scope.ServiceProvider.GetRequiredService<ISender>();
|
|
return (sender, scope);
|
|
}
|
|
|
|
[Test]
|
|
public async Task InsertEndpointAuthProcedure_runs_via_mediator()
|
|
{
|
|
var procedure = new InsertEndpointAuthProcedure { Active = true, Description = "auth", TypeId = 1, ApiKey = "key", ApiValue = "value" };
|
|
var objectProc = procedure.ToObjectProcedure("ReC.Tests");
|
|
|
|
var (sender, scope) = CreateScopedSender();
|
|
using var _ = scope;
|
|
var result = await sender.Send(objectProc);
|
|
|
|
Assert.That(result, Is.GreaterThan(0));
|
|
}
|
|
|
|
[Test]
|
|
public async Task UpdateEndpointAuthProcedure_runs_via_mediator()
|
|
{
|
|
var procedure = new UpdateEndpointAuthProcedure { Active = false, Description = "auth-update", TypeId = 2 };
|
|
var objectProc = procedure.ToObjectProcedure(15, "ReC.Tests");
|
|
|
|
var (sender, scope) = CreateScopedSender();
|
|
using var _ = scope;
|
|
var result = await sender.Send(objectProc);
|
|
|
|
Assert.That(result, Is.EqualTo(0));
|
|
}
|
|
|
|
[Test]
|
|
public async Task DeleteEndpointAuthProcedure_runs_via_mediator()
|
|
{
|
|
var procedure = new DeleteEndpointAuthProcedure { Start = 3, End = 4, Force = false };
|
|
var objectProc = procedure.ToObjectProcedure();
|
|
|
|
var (sender, scope) = CreateScopedSender();
|
|
using var _ = scope;
|
|
var result = await sender.Send(objectProc);
|
|
|
|
Assert.That(result, Is.EqualTo(0));
|
|
}
|
|
}
|