diff --git a/XplorePlane.Tests/Services/CncExecutionServiceTests.cs b/XplorePlane.Tests/Services/CncExecutionServiceTests.cs index 5611f24..c3dc6db 100644 --- a/XplorePlane.Tests/Services/CncExecutionServiceTests.cs +++ b/XplorePlane.Tests/Services/CncExecutionServiceTests.cs @@ -533,8 +533,13 @@ internal sealed class SynchronousProgress : IProgress .Returns(Task.CompletedTask); using var cts = new CancellationTokenSource(); - // Cancel after 50ms — well before the 5000ms delay completes - cts.CancelAfter(50); + // Cancel after BeginRunAsync is called — ensures execution has started + // but cancellation fires well before the 5000ms WaitDelay completes + mockStore.Setup(s => s.BeginRunAsync( + It.IsAny(), + It.IsAny())) + .Callback((_, __) => cts.CancelAfter(50)) + .Returns(Task.CompletedTask); await service.ExecuteAsync(program, null, cts.Token);