diff --git a/readme.md b/readme.md index 7d19506..3e1eb0b 100644 --- a/readme.md +++ b/readme.md @@ -55,7 +55,7 @@ public class Handler(IMessageBus context) context.SendAsync(new Response("Property Value")); } ``` -snippet source | anchor +snippet source | anchor @@ -75,7 +75,7 @@ public async Task HandlerTest() await Verify(context); } ``` -snippet source | anchor +snippet source | anchor Will result in: @@ -116,7 +116,7 @@ public class Handler(IMessageBus context) } } ``` -snippet source | anchor +snippet source | anchor The result can be set: @@ -139,7 +139,7 @@ public async Task HandlerTest() await Verify(context); } ``` -snippet source | anchor +snippet source | anchor diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 81e0dab..0ad0ce3 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,7 +1,7 @@ - 2.0.0 + 3.0.0 preview 1.0.0 Wolverine, Verify diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 65e39a6..137f779 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -11,7 +11,7 @@ - + diff --git a/src/Tests/GlobalUsings.cs b/src/Tests/GlobalUsings.cs new file mode 100644 index 0000000..2e570fa --- /dev/null +++ b/src/Tests/GlobalUsings.cs @@ -0,0 +1,2 @@ +global using VerifyTests.Wolverine; +global using Wolverine; \ No newline at end of file diff --git a/src/Tests/InvokeDelegateUsage.cs b/src/Tests/InvokeDelegateUsage.cs index b24c61a..634a2ce 100644 --- a/src/Tests/InvokeDelegateUsage.cs +++ b/src/Tests/InvokeDelegateUsage.cs @@ -1,6 +1,4 @@ -using VerifyTests.Wolverine; -using Wolverine; -// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident +// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident public class InvokeDelegateUsage { diff --git a/src/Tests/Tests.AllTest.verified.txt b/src/Tests/Tests.AllTest.verified.txt index ad0b72d..9514b70 100644 --- a/src/Tests/Tests.AllTest.verified.txt +++ b/src/Tests/Tests.AllTest.verified.txt @@ -31,6 +31,11 @@ Endpoint: endpoint } ], + ReScheduled: [ + { + rescheduledAt: DateTimeOffset_2 + } + ], Responses: [ { Property: Property Value @@ -42,7 +47,7 @@ Property: Property Value }, Options: { - DeliverBy: DateTimeOffset_2 + DeliverBy: DateTimeOffset_3 } }, { @@ -50,7 +55,7 @@ Property: Property Value }, Options: { - DeliverBy: DateTimeOffset_3 + DeliverBy: DateTimeOffset_4 }, Endpoint: endpoint } diff --git a/src/Tests/Tests.cs b/src/Tests/Tests.cs index 30fa94c..e66a480 100644 --- a/src/Tests/Tests.cs +++ b/src/Tests/Tests.cs @@ -1,6 +1,4 @@ -using VerifyTests.Wolverine; -using Wolverine; -// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident +// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident public class Tests { @@ -52,6 +50,8 @@ await context.RespondToSenderAsync( await context.InvokeAsync( new Response("Property Value"), timeout: TimeSpan.FromDays(2)); + await context.ReScheduleCurrentAsync( + new DateTimeOffset(2020, 10, 1, 1, 1, 1, TimeSpan.FromHours(10))); await context.InvokeAsync( new Response("Property Value"), timeout: TimeSpan.FromDays(2)); diff --git a/src/Verify.Wolverine/Converters/RecordingMessageContext.cs b/src/Verify.Wolverine/Converters/RecordingMessageContext.cs index d542f3b..1367d52 100644 --- a/src/Verify.Wolverine/Converters/RecordingMessageContext.cs +++ b/src/Verify.Wolverine/Converters/RecordingMessageContext.cs @@ -5,7 +5,7 @@ public partial class RecordingMessageContext : { public RecordingMessageContext(object? message = null, PreviewSubscription? previewSubscription = null) { - this.previewSubscription = previewSubscription ?? (_ => []); + this.previewSubscription = previewSubscription ?? ((_, _) => []); if (message != null) { diff --git a/src/Verify.Wolverine/Converters/RecordingMessageContext_PreviewSubscriptions.cs b/src/Verify.Wolverine/Converters/RecordingMessageContext_PreviewSubscriptions.cs index 89152d7..5bcf777 100644 --- a/src/Verify.Wolverine/Converters/RecordingMessageContext_PreviewSubscriptions.cs +++ b/src/Verify.Wolverine/Converters/RecordingMessageContext_PreviewSubscriptions.cs @@ -1,11 +1,14 @@ namespace VerifyTests.Wolverine; -public delegate IReadOnlyList PreviewSubscription(object message); +public delegate IReadOnlyList PreviewSubscription(object message, DeliveryOptions options); public partial class RecordingMessageContext { PreviewSubscription previewSubscription; public IReadOnlyList PreviewSubscriptions(object message) => - previewSubscription.Invoke(message); + previewSubscription.Invoke(message, new()); + + public IReadOnlyList PreviewSubscriptions(object message, DeliveryOptions options) => + previewSubscription.Invoke(message, options); } \ No newline at end of file diff --git a/src/Verify.Wolverine/Converters/RecordingMessageContext_ReScheduleCurrent.cs b/src/Verify.Wolverine/Converters/RecordingMessageContext_ReScheduleCurrent.cs new file mode 100644 index 0000000..ffb861b --- /dev/null +++ b/src/Verify.Wolverine/Converters/RecordingMessageContext_ReScheduleCurrent.cs @@ -0,0 +1,18 @@ +namespace VerifyTests.Wolverine; + +public partial class RecordingMessageContext +{ + List reScheduled = []; + public IReadOnlyList ReScheduled => reScheduled; + + public Task ReScheduleCurrentAsync(DateTimeOffset rescheduledAt) + { + AddReScheduleCurrent(rescheduledAt); + return Task.CompletedTask; + } + + internal void AddReScheduleCurrent(DateTimeOffset rescheduledAt) => + reScheduled.Add(new(rescheduledAt)); +} + +public record ReSchedule(DateTimeOffset rescheduledAt); \ No newline at end of file