public DbContext SnapshotCreation()
        {
            var snapshot = new NorthWindDatabaseFactory(scaffold, snapshot: true);

            snapshot.CreateDbContext();
            return(snapshot.CreateDbContext());
        }
コード例 #2
0
        public void CreateDbConnection_prepares_the_db_context()
        {
            using var factory = new NorthWindDatabaseFactory();

            using var dbConnection = factory.CreateDbConnection();

            TestHelpers.ShouldBePrepared(dbConnection);
        }
コード例 #3
0
        public void CreateDbConnection_creates_an_instance()
        {
            using var factory = new NorthWindDatabaseFactory();

            using var dbConnection = factory.CreateDbConnection();

            // Assert
            dbConnection.Should().NotBeNull();
        }
        public void Constructor_uses_default_parameters()
        {
            // Arrange
            // Act
            using var instance = new NorthWindDatabaseFactory();

            // Assert
            instance.PrototypeConnectionString.Should().Be("Data Source=:memory:;");
            instance.InstanceConnectionString.Should().Be("Data Source=:memory:;");
        }
        public void Setup()
        {
            scaffold = new DatabaseScaffold();
            factory  = new NorthWindDatabaseFactory(scaffold);
            factory.CreateDbContext();
            // Pre-Create snapshot db.
            var snapshot = new NorthWindDatabaseFactory(scaffold, snapshot: true);

            snapshot.CreateDbContext().Dispose();
        }
        public void CreateDbContext_creates_an_instance()
        {
            // Arrange
            using var instance = new NorthWindDatabaseFactory();

            // Act
            using var dbContext = instance.CreateDbContext();

            // Assert
            dbContext.Should().NotBeNull();
        }
        public void ConfigureDbContextOptionsBuilder_is_called()
        {
            // Arrange
            using var instance = new NorthWindDatabaseFactory();

            // Act
            TestHelpers.MakeFirstCall(instance);

            // Assert
            instance.Builder.Should().NotBeNull();
        }
コード例 #8
0
        public void CreateDbConnection_opens_the_database()
        {
            // Arrange
            using var instance = new NorthWindDatabaseFactory();

            // Act
            using var connection = instance.CreateDbConnection();

            // Assert
            connection.State.Should().Be(ConnectionState.Open);
        }
        public void CreateDbContext_prepares_the_db_context()
        {
            // Arrange
            using var instance = new NorthWindDatabaseFactory();

            // Act
            using var dbContext = instance.CreateDbContext();

            // Assert
            dbContext.Should().NotBeNull();
            TestHelpers.ShouldBePrepared(dbContext);
        }
        public void ExecuteMigrate_is_called()
        {
            // Arrange
            using var instance = new NorthWindDatabaseFactory();

            // Act
            using var dbContext = instance.CreateDbContext();

            // Assert
            instance.MigratedDbContext.Should().NotBeNull();
            instance.MigratedDbContext.Should().NotBeSameAs(dbContext);
        }
        public void Constructor_can_work_snapshot_mode()
        {
            // Arrange
            var count = 0;

            using var instance = new NorthWindDatabaseFactory(snapshot: true);
            instance.Prepared += () => count++;

            // Act
            TestHelpers.MakeFirstCall(instance);
            using var dbContext = instance.CreateDbContext();

            // Assert
            count.Should().Be(0);
            TestHelpers.ShouldBePrepared(dbContext);
        }
        public void CreateDbContext_calls_prepare_only_once()
        {
            // Arrange
            var count = 0;

            using var instance = new NorthWindDatabaseFactory();
            instance.Prepared += () => count++;

            // Act
            TestHelpers.MakeFirstCall(instance);
            using var dbContext = instance.CreateDbContext();

            // Assert
            count.Should().Be(1);
            TestHelpers.ShouldBePrepared(dbContext);
        }
コード例 #13
0
        public static void MakeFirstCall(NorthWindDatabaseFactory instance)
        {
#pragma warning disable CS0642 // Possible mistaken empty statement
            using (instance.CreateDbContext());
#pragma warning restore CS0642 // Possible mistaken empty statement
        }