public void WhenInitializingDatabase_ThenPopulatesDefaultAvailability() { var initializer = new OrmRepositoryInitializer(new DropCreateDatabaseAlways <OrmRepository>()); using (var context = new OrmRepository("TestOrmRepository")) { initializer.InitializeDatabase(context); } using (var context = new OrmRepository("TestOrmRepository")) { Assert.Equal(1, context.Set <SeatsAvailability>().Count()); } }
public void WhenReadingViewDTO_ThenSucceedsIfAggregateExists() { Database.SetInitializer <OrmRepository>( new OrmViewRepositoryInitializer( new OrmRepositoryInitializer( new DropCreateDatabaseAlways <OrmRepository>()))); Database.SetInitializer <OrmViewRepository>(null); using (var context = new OrmRepository("TestOrmRepository")) { if (context.Database.Exists()) { context.Database.Delete(); } context.Database.Initialize(true); } var orderId = Guid.NewGuid(); var ticketTypeId = Guid.NewGuid(); using (var context = new OrmRepository("TestOrmRepository")) { var order = new Order(orderId, Guid.NewGuid(), Guid.NewGuid(), new[] { new OrderItem(ticketTypeId, 5) }); order.MarkAsBooked(); context.Save(order); } using (var viewContext = new OrmViewRepository("TestOrmRepository")) { var dto = viewContext.Find <OrderDTO>(orderId); Assert.NotNull(dto); Assert.Equal("Booked", dto.State); Assert.Equal(1, dto.Lines.Count); Assert.Equal(ticketTypeId, dto.Lines[0].SeatTypeId); Assert.Equal(5, dto.Lines[0].Quantity); } }
protected void Application_Start() { RegisterGlobalFilters(GlobalFilters.Filters); RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); AppRoutes.RegisterRoutes(RouteTable.Routes); services = GetDefaultServices(); Database.SetInitializer(new OrmViewRepositoryInitializer(new OrmRepositoryInitializer(new DropCreateDatabaseIfModelChanges <OrmRepository>()))); Database.SetInitializer(new OrmSagaRepositoryInitializer(new DropCreateDatabaseIfModelChanges <OrmSagaRepository>())); // Views repository is currently the same as the domain DB. No initializer needed. Database.SetInitializer <OrmViewRepository>(null); using (var context = new OrmRepository()) { context.Database.Initialize(true); } using (var context = new OrmSagaRepository()) { context.Database.Initialize(true); } }