28 lines
1.2 KiB
C#
28 lines
1.2 KiB
C#
|
|
using System.Reflection;
|
||
|
|
using Elsa.Workflows.Runtime.Entities;
|
||
|
|
using FastEndpoints;
|
||
|
|
using WorkflowsApiFeature = Elsa.Workflows.Api.Features.WorkflowsApiFeature;
|
||
|
|
|
||
|
|
namespace Elsa.Workflows.Api.UnitTests.ActivityExecutions;
|
||
|
|
|
||
|
|
public class ActivityExecutionsEndpointTests
|
||
|
|
{
|
||
|
|
[Fact]
|
||
|
|
public void GetEndpoint_ExposesPathAndQueryRoutes()
|
||
|
|
{
|
||
|
|
var endpointType = typeof(WorkflowsApiFeature).Assembly.GetType("Elsa.Workflows.Api.Endpoints.ActivityExecutions.Get.Endpoint", throwOnError: true)!;
|
||
|
|
var endpoint = Activator.CreateInstance(endpointType, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, [null], null)!;
|
||
|
|
var definition = new EndpointDefinition(endpointType, typeof(EmptyRequest), typeof(ActivityExecutionRecord));
|
||
|
|
|
||
|
|
endpointType
|
||
|
|
.GetProperty("Definition", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)!
|
||
|
|
.SetValue(endpoint, definition);
|
||
|
|
|
||
|
|
endpointType.GetMethod("Configure")!.Invoke(endpoint, null);
|
||
|
|
|
||
|
|
Assert.Contains("/activity-executions/{id}", definition.Routes);
|
||
|
|
Assert.Contains("/activity-executions/{*id}", definition.Routes);
|
||
|
|
Assert.Contains("/activity-executions/by-id", definition.Routes);
|
||
|
|
}
|
||
|
|
}
|