@@ -34,11 +34,11 @@ public class TestModel
3434 public class TestDbContext : DbContext
3535 {
3636 public TestDbContext ( DbContextOptions options )
37- : base ( options )
37+ : base ( options )
3838 {
3939 }
4040
41- public DbSet < TestModel > TestModels { get ; set ; }
41+ public DbSet < TestModel > TestModels { get ; set ; }
4242 }
4343
4444 [ Theory ]
@@ -89,18 +89,16 @@ public void AddAssemblyTriggers_WithAssembly_RegistersWithThatAssembly()
8989
9090 Assert . Equal ( 5 , serviceCollection . Count ) ;
9191 }
92-
93- [ Fact ]
94- public async Task SaveChanges_WithAddedEntity_RaisesAllTriggerTypes ( )
92+
93+ protected async Task SaveChanges_TriggeredAddedThroughDI_Template ( Func < IServiceCollection , IServiceCollection > transform )
9594 {
96- var serviceProvider = new ServiceCollection ( )
95+ var serviceProvider = transform ( new ServiceCollection ( )
9796 . AddTriggeredDbContext < TestDbContext > ( options => {
9897 options . UseInMemoryDatabase ( "test" ) ;
9998 options . ConfigureWarnings ( warningOptions => {
10099 warningOptions . Ignore ( CoreEventId . ManyServiceProvidersCreatedWarning ) ;
101100 } ) ;
102- } )
103- . AddTrigger < SampleTrigger > ( )
101+ } ) )
104102 . BuildServiceProvider ( ) ;
105103
106104 using var dbContext = serviceProvider . GetRequiredService < TestDbContext > ( ) ;
@@ -116,5 +114,14 @@ public async Task SaveChanges_WithAddedEntity_RaisesAllTriggerTypes()
116114 Assert . Equal ( 1 , trigger . AfterSaveCalls ) ;
117115 Assert . Equal ( 1 , trigger . AfterSaveAsyncCalls ) ;
118116 }
117+
118+ [ Fact ]
119+ public Task SaveChanges_ExplicitlyAddedTriggerThroughDI_RaisesAllTriggerTypes ( )
120+ => SaveChanges_TriggeredAddedThroughDI_Template ( x => x . AddTrigger < SampleTrigger > ( ) ) ;
121+
122+
123+ [ Fact ]
124+ public Task SaveChanges_DiscoveredTriggerThroughDI_RaisesAllTriggerTypes ( )
125+ => SaveChanges_TriggeredAddedThroughDI_Template ( x => x . AddAssemblyTriggers ( ) ) ;
119126 }
120127}
0 commit comments