diff --git a/dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.UnitTests/ObjectModel/DefaultActionExecutorTest.cs b/dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.UnitTests/ObjectModel/DefaultActionExecutorTest.cs
new file mode 100644
index 0000000000..0e7f0a4558
--- /dev/null
+++ b/dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.UnitTests/ObjectModel/DefaultActionExecutorTest.cs
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+using System.Threading.Tasks;
+using Microsoft.Agents.AI.Workflows.Declarative.ObjectModel;
+using Microsoft.Agents.ObjectModel;
+using Xunit.Abstractions;
+
+namespace Microsoft.Agents.AI.Workflows.Declarative.UnitTests.ObjectModel;
+
+///
+/// Tests for .
+///
+public sealed class DefaultActionExecutorTest(ITestOutputHelper output) : WorkflowActionExecutorTest(output)
+{
+ [Fact]
+ public async Task ExecuteDefaultActionAsync()
+ {
+ // Arrange, Act & Assert
+ await this.ExecuteTestAsync(
+ this.FormatDisplayName(nameof(ExecuteDefaultActionAsync)));
+ }
+
+ private async Task ExecuteTestAsync(string displayName)
+ {
+ // Arrange
+ ResetVariable model = this.CreateModel(displayName);
+
+ // Act
+ DefaultActionExecutor action = new(model, this.State);
+ WorkflowEvent[] events = await this.ExecuteAsync(action);
+
+ // Assert
+ VerifyModel(model, action);
+ Assert.NotEmpty(events);
+ }
+
+ private ResetVariable CreateModel(string displayName)
+ {
+ // Use a simple concrete action type since DialogAction.Builder is abstract
+ ResetVariable.Builder actionBuilder =
+ new()
+ {
+ Id = this.CreateActionId(),
+ DisplayName = this.FormatDisplayName(displayName),
+ Variable = PropertyPath.Create(FormatVariablePath("TestVariable")),
+ };
+
+ return AssignParent(actionBuilder);
+ }
+}