@@ -22,8 +22,7 @@ public async Task GetEntityAsync_Include_GetEntityAsync()
2222 new EntityGenerator < FakePost > ( new FakePost ( ) )
2323 . Setup ( x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
2424 . GenerateSingle ( ) ;
25- var db = new FakeDbContext (
26- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
25+ var db = GetFakeDbContext ( ) ;
2726 db . Add ( entity ) ;
2827 await db . SaveChangesAsync ( ) ;
2928 var repository = new TestRepository ( Substitute . For < IMediator > ( ) , db ) ;
@@ -36,6 +35,15 @@ public async Task GetEntityAsync_Include_GetEntityAsync()
3635 Assert . Equivalent ( entity . Posts , got . Posts ) ;
3736 }
3837
38+ private static FakeDbContext GetFakeDbContext ( )
39+ {
40+ var options = new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ;
41+ var context = new FakeDbContext ( options ) ;
42+ context . Database . EnsureDeleted ( ) ;
43+ context . Database . EnsureCreated ( ) ;
44+ return context ;
45+ }
46+
3947 [ Fact ]
4048 public async Task GetEntityAsync_StringBasedInclude_NotNullAsync ( )
4149 {
@@ -48,8 +56,7 @@ public async Task GetEntityAsync_StringBasedInclude_NotNullAsync()
4856 new EntityGenerator < FakePost > ( new FakePost ( ) )
4957 . Setup ( x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
5058 . GenerateSingle ( ) ;
51- var db = new FakeDbContext (
52- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
59+ var db = GetFakeDbContext ( ) ;
5360 db . Add ( entity ) ;
5461 await db . SaveChangesAsync ( ) ;
5562 var repository = new TestRepository ( Substitute . For < IMediator > ( ) , db ) ;
@@ -75,8 +82,7 @@ public async Task GetEntityAsync_ThenInclude_NotNullAsync()
7582 . HasManyForEachEntity ( x => x . Tags , new EntityGenerator < FakeTag > ( new FakeTag ( ) ) )
7683 . Setup ( x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
7784 . GenerateSingle ( ) ;
78- var db = new FakeDbContext (
79- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
85+ var db = GetFakeDbContext ( ) ;
8086 db . Add ( entity ) ;
8187 await db . SaveChangesAsync ( ) ;
8288 var repository = new TestRepository ( Substitute . For < IMediator > ( ) , db ) ;
@@ -101,8 +107,7 @@ public async Task SaveEntitiesAsync_CallBeforeUpdateForRelatedEntity_UpdateDateU
101107 new EntityGenerator < FakePost > ( new FakePost ( ) )
102108 . Setup ( x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
103109 . GenerateSingle ( ) ;
104- var db = new FakeDbContext (
105- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
110+ var db = GetFakeDbContext ( ) ;
106111 db . Add ( entity ) ;
107112 await db . SaveChangesAsync ( ) ;
108113 var repository = new TestRepository ( Substitute . For < IMediator > ( ) , db ) ;
@@ -129,8 +134,7 @@ public async Task SaveEntitiesAsync_DispatchEntityDomainEvents_DispatchAllAsync(
129134 new EntityGenerator < FakePost > ( new FakePost ( ) ) . Setup (
130135 x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
131136 . GenerateSingle ( ) ;
132- var db = new FakeDbContext (
133- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
137+ var db = GetFakeDbContext ( ) ;
134138 db . Add ( entity ) ;
135139 await db . SaveChangesAsync ( ) ;
136140 var mediator = Substitute . For < IMediator > ( ) ;
@@ -163,8 +167,7 @@ public async Task SaveEntitiesAsync_DispatchRelatedEntityDomainEvents_DispatchAl
163167 new EntityGenerator < FakePost > ( new FakePost ( ) ) . Setup (
164168 x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
165169 . GenerateSingle ( ) ;
166- var db = new FakeDbContext (
167- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
170+ var db = GetFakeDbContext ( ) ;
168171 db . Add ( entity ) ;
169172 await db . SaveChangesAsync ( ) ;
170173 var mediator = Substitute . For < IMediator > ( ) ;
@@ -198,8 +201,7 @@ public async Task SaveEntitiesAsync_DispatchEntityDomainEventsWithGeneratedId_Di
198201 new EntityGenerator < FakePost > ( new FakePost ( ) ) . Setup (
199202 x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
200203 . GenerateSingle ( ) ;
201- var db = new FakeDbContext (
202- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
204+ var db = GetFakeDbContext ( ) ;
203205 var mediator = Substitute . For < IMediator > ( ) ;
204206 var repository = new TestRepository ( mediator , db ) ;
205207
@@ -229,8 +231,7 @@ public async Task SaveEntitiesAsync_DispatchEntityDomainEventsWithMultipleExcept
229231 new EntityGenerator < FakePost > ( new FakePost ( ) ) . Setup (
230232 x => x . DateUpdated = DateTimeOffset . Now . AddDays ( - 1 ) ) )
231233 . GenerateSingle ( ) ;
232- var db = new FakeDbContext (
233- new DbContextOptionsBuilder < FakeDbContext > ( ) . UseInMemoryDatabase ( "inmemory" ) . Options ) ;
234+ var db = GetFakeDbContext ( ) ;
234235 var mediator = Substitute . For < IMediator > ( ) ;
235236 mediator . Publish ( Arg . Any < IDomainEvent > ( ) , Arg . Any < CancellationToken > ( ) )
236237 . ThrowsAsync < ArgumentException > ( ) ;
0 commit comments