diff --git a/src/Persistence/PersistenceTests/ModularMonoliths/end_to_end_modular_monolith.cs b/src/Persistence/PersistenceTests/ModularMonoliths/end_to_end_modular_monolith.cs index 3cd0a2031..5f55e0c40 100644 --- a/src/Persistence/PersistenceTests/ModularMonoliths/end_to_end_modular_monolith.cs +++ b/src/Persistence/PersistenceTests/ModularMonoliths/end_to_end_modular_monolith.cs @@ -21,6 +21,7 @@ using Xunit; using Marten; using Microsoft.Data.SqlClient; +using Microsoft.Extensions.DependencyInjection; using Weasel.SqlServer; using Wolverine.Marten; using Wolverine.Persistence; @@ -181,6 +182,25 @@ public async Task has_all_the_expected_databases() ); } + [Fact] + public async Task using_db_context_outbox() + { + Func action = async c => + { + using var scope = theHost.Services.CreateScope(); + var outbox = scope.ServiceProvider.GetRequiredService>(); + var entity = new Item { Id = Guid.NewGuid() }; + outbox.DbContext.Items.Add(entity); + await outbox.PublishAsync(new ApproveItem1(entity.Id)); + await outbox.SaveChangesAndFlushMessagesAsync(); + }; + + var tracked = await theHost.TrackActivity() + .ExecuteAndWaitAsync(action); + + tracked.Sent.SingleEnvelope().ShouldNotBeNull(); + } + [Fact] public async Task use_outbox_with_ancillary_store_with_ef_core() { diff --git a/src/Persistence/PersistenceTests/ModularMonoliths/registration_of_message_stores.cs b/src/Persistence/PersistenceTests/ModularMonoliths/registration_of_message_stores.cs index f1d617061..f351a74e2 100644 --- a/src/Persistence/PersistenceTests/ModularMonoliths/registration_of_message_stores.cs +++ b/src/Persistence/PersistenceTests/ModularMonoliths/registration_of_message_stores.cs @@ -10,12 +10,14 @@ using Weasel.Postgresql; using Weasel.Postgresql.Migrations; using Wolverine; +using Wolverine.EntityFrameworkCore; using Wolverine.Marten; using Wolverine.Persistence; using Wolverine.Persistence.Durability; using Wolverine.Postgresql; using Wolverine.Runtime; using Wolverine.SqlServer; +using Wolverine.SqlServer.Persistence; using Wolverine.Tracking; using Xunit; using Xunit.Abstractions;