public static AppDbContext WithDefaults() { var options = new DbContextOptionsBuilder() .UseInMemoryDatabase($"{Guid.NewGuid()}") .Options; var context = new EventStoreDbContext(options); var dateTime = new MachineDateTime(); var eventStore = new EventStore(context, dateTime, new TestCorrelationIdAccessor(Guid.NewGuid())); var aggregateSet = new AggregateSet(context, dateTime); var appDbContext = new AppDbContext(eventStore, aggregateSet); DbInitializer.Initialize(appDbContext, ConfigurationFactory.Create()); appDbContext.SaveChangesAsync(default).GetAwaiter().GetResult();
public async Task Should_StoreAndReHydrateCorrectly() { var fakeId = Guid.NewGuid(); var dateRange = DateRange.Create(DateTime.UtcNow.AddDays(1), DateTime.UtcNow.AddDays(2)).Value; var rental = new Rental(fakeId, fakeId, dateRange, (Price)1m); var dateTime = new MachineDateTime(); var options = new DbContextOptionsBuilder().UseInMemoryDatabase("UnitTest").Options; var eventStoreDbContext = new EventStoreDbContext(options); var eventStore = new EventStore(eventStoreDbContext, dateTime); var aggregateSet = new AggregateSet(eventStoreDbContext, dateTime); eventStore.Store(rental); await eventStore.SaveChangesAsync(default);