Fix unit tests
This commit is contained in:
parent
37d687d526
commit
cea453cb4f
|
|
@ -0,0 +1,12 @@
|
|||
using System.Reflection;
|
||||
using AutoFixture;
|
||||
using AutoFixture.Xunit2;
|
||||
using Elsa.Testing.Shared.AutoFixture.Customizations;
|
||||
|
||||
namespace Elsa.Testing.Shared.AutoFixture.Attributes
|
||||
{
|
||||
public class StubActivityBlueprintAttribute : CustomizeAttribute
|
||||
{
|
||||
public override ICustomization GetCustomization(ParameterInfo parameter) => new StubActivityBlueprintCustomization(parameter);
|
||||
}
|
||||
}
|
||||
|
|
@ -11,4 +11,10 @@ namespace Elsa.Testing.Shared.AutoFixture.Customizations
|
|||
|
||||
public StubElsaContextCustomization(ParameterInfo? parameter) : base(parameter) {}
|
||||
}
|
||||
|
||||
public class StubActivityBlueprintCustomization : SpecimenBuilderForParameterCustomization
|
||||
{
|
||||
protected override ISpecimenBuilder GetUnfilteredSpecimenBuilder() => new StubActivityBlueprintSpecimenBuilder();
|
||||
public StubActivityBlueprintCustomization(ParameterInfo? parameter) : base(parameter) {}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
using System.Collections.Generic;
|
||||
using AutoFixture.Kernel;
|
||||
using Elsa.Services.Models;
|
||||
using Moq;
|
||||
|
||||
namespace Elsa.Testing.Shared.AutoFixture.SpecimenBuilders
|
||||
{
|
||||
public class StubActivityBlueprintSpecimenBuilder : ISpecimenBuilder
|
||||
{
|
||||
public object Create(object request, ISpecimenContext context)
|
||||
=> request.IsAnAutofixtureRequestForType<IActivityBlueprint>()? GetContext() : new NoSpecimen();
|
||||
|
||||
static object GetContext()
|
||||
{
|
||||
var mock = new Mock<IActivityBlueprint>();
|
||||
|
||||
mock.Setup(x => x.PropertyStorageProviders).Returns(new Dictionary<string, string>());
|
||||
|
||||
return mock.Object;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ using Xunit;
|
|||
using Elsa.ActivityResults;
|
||||
using System.Linq;
|
||||
using Elsa.Testing.Shared;
|
||||
using Elsa.Testing.Shared.AutoFixture.Attributes;
|
||||
|
||||
namespace Elsa.Activities.Signaling
|
||||
{
|
||||
|
|
@ -54,9 +55,9 @@ namespace Elsa.Activities.Signaling
|
|||
}
|
||||
|
||||
[Theory(DisplayName = "The ResumeAsync method should return a 'Done' Outcome result"), AutoMoqData]
|
||||
public async Task ResumeAsyncShouldReturnDoneResult(SignalReceived sut, Signal triggeredSignal, object signalInput)
|
||||
public async Task ResumeAsyncShouldReturnDoneResult(SignalReceived sut, Signal triggeredSignal, object signalInput, [StubActivityBlueprint] IActivityBlueprint activityBlueprint)
|
||||
{
|
||||
var context = new ActivityExecutionContext(default!, default!, default!, triggeredSignal, default, default);
|
||||
var context = new ActivityExecutionContext(default!, default!, activityBlueprint, triggeredSignal, default, default);
|
||||
triggeredSignal.Input = signalInput;
|
||||
|
||||
var result = await sut.ResumeAsync(context);
|
||||
|
|
@ -66,9 +67,9 @@ namespace Elsa.Activities.Signaling
|
|||
}
|
||||
|
||||
[Theory(DisplayName = "The ResumeAsync method should include the original signal input within the Output result"), AutoMoqData]
|
||||
public async Task ResumeAsyncShouldReturnOriginalSignalInputWithinDoneResult(SignalReceived sut, Signal triggeredSignal, object signalInput)
|
||||
public async Task ResumeAsyncShouldReturnOriginalSignalInputWithinDoneResult(SignalReceived sut, Signal triggeredSignal, object signalInput, [StubActivityBlueprint] IActivityBlueprint activityBlueprint)
|
||||
{
|
||||
var context = new ActivityExecutionContext(default!, default!, default!, triggeredSignal, default, default);
|
||||
var context = new ActivityExecutionContext(default!, default!, activityBlueprint, triggeredSignal, default, default);
|
||||
triggeredSignal.Input = signalInput;
|
||||
await sut.ResumeAsync(context);
|
||||
var resultOutput = sut.Output;
|
||||
|
|
|
|||
Loading…
Reference in a new issue