Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }