diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/Activities/TestRun/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/Activities/TestRun/Endpoint.cs
deleted file mode 100644
index a3f9764b9..000000000
--- a/src/modules/Elsa.Workflows.Api/Endpoints/Activities/TestRun/Endpoint.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-using Elsa.Abstractions;
-using Elsa.Extensions;
-using Elsa.Workflows.Management;
-using Elsa.Workflows.Models;
-using Elsa.Workflows.Runtime;
-using Elsa.Workflows.Runtime.Entities;
-using Elsa.Workflows.State;
-
-namespace Elsa.Workflows.Api.Endpoints.Activities.TestRun;
-
-///
-/// This abstract class provides the necessary infrastructure to handle the execution of workflows, including setup of routes, permissions,
-/// and processing of HTTP requests to execute workflows.
-///
-internal class Endpoint(
- IWorkflowDefinitionService workflowDefinitionService,
- IActivityInvoker activityInvoker,
- IActivityExecutionMapper activityExecutionMapper,
- IIdentityGenerator identityGenerator,
- IServiceProvider serviceProvider)
- : ElsaEndpoint
-{
- ///
- public override void Configure()
- {
- Post("/activities/test-run");
- ConfigurePermissions("exec:activities");
- }
-
- ///
- public override async Task HandleAsync(Request request, CancellationToken cancellationToken)
- {
- var workflowGraph = await workflowDefinitionService.FindWorkflowGraphAsync(request.WorkflowDefinitionHandle, cancellationToken);
-
- if (workflowGraph == null)
- {
- AddError("Workflow definition not found.");
- await SendErrorsAsync(cancellation: cancellationToken);
- return;
- }
-
- var workflowInstanceId = identityGenerator.GenerateId();
- var workflowExecutionContext = await WorkflowExecutionContext.CreateAsync(serviceProvider, workflowGraph, workflowInstanceId, cancellationToken: cancellationToken);
- var activity = workflowExecutionContext.FindActivity(request.ActivityHandle);
-
- if (activity == null)
- {
- AddError("Activity not found.");
- await SendErrorsAsync(cancellation: cancellationToken);
- return;
- }
-
- var activityExecutionContext = await activityInvoker.InvokeAsync(workflowExecutionContext, activity);
- var record = activityExecutionMapper.Map(activityExecutionContext);
- var outcomes = record.Payload != null && record.Payload.TryGetValue("Outcomes", out var outcomesObj) ? outcomesObj as ICollection : null;
- var response = new Response
- {
- Outputs = record.Outputs,
- Outcomes = outcomes,
- Exception = record.Exception,
- Status = record.Status
- };
-
- await SendOkAsync(response, cancellationToken);
- }
-}
-
-public class Request
-{
- public WorkflowDefinitionHandle WorkflowDefinitionHandle { get; set; } = null!;
- public ActivityHandle ActivityHandle { get; set; } = null!;
-}
-
-public class Response
-{
- public IDictionary? Outputs { get; set; }
- public ICollection? Outcomes { get; set; }
- public ExceptionState? Exception { get; set; }
- public ActivityStatus Status { get; set; }
-}
\ No newline at end of file
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/Tests/Activities/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/Tests/Activities/Endpoint.cs
index 12311231f..49494c043 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/Tests/Activities/Endpoint.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/Tests/Activities/Endpoint.cs
@@ -51,7 +51,7 @@ internal class Endpoint(
}
var activityExecutionContext = await activityTestRunner.RunAsync(workflowGraph, activity, cancellationToken);
- var record = activityExecutionMapper.Map(activityExecutionContext);
+ var record = await activityExecutionMapper.MapAsync(activityExecutionContext);
var activityState = record.ActivityState ?? new Dictionary();
var response = new Response