public void NonProductionRemoteDatabaseShouldApplyTestData() { var tranection = new TrannectionTraceOnly().BeginCapturing(); var testSubject = new DatabaseRemote(tranection) {IsTestDatabase = true}; testSubject.Apply(Migration2); testSubject.Apply(Migration3); tranection.SqlExecuted.Should().Equal(new[] { Migration2.Apply, Migration2.InsertTestData, Migration3.Apply, Migration3.InsertTestData }); }
public void RealDatabaseShouldApplyMigrationsByExecutingSql() { var tranection = new TrannectionTraceOnly().BeginCapturing(); var testSubject = new DatabaseRemote(tranection); testSubject.Apply(Migration2); testSubject.Apply(Migration3); tranection.SqlExecuted.Should().Equal(new[] { Migration2.Apply, Migration3.Apply }); }
public void ShouldNeverInsertTestDataWhichIsNoOp() { var tranection = new TrannectionTraceOnly().BeginCapturing(); var testSubject = new DatabaseRemote(tranection) {IsTestDatabase = true}; testSubject.Apply(MigrationWithoutTestData); tranection.SqlExecuted.Should().Equal(new[] { MigrationWithoutTestData.Apply }); }
public void RealDatabaseShouldNoOpToApplyMigrationsWhichDoNothingWhenApplied() { var tranection = new TrannectionTraceOnly().BeginCapturing(); var testSubject = new DatabaseRemote(tranection); testSubject.Apply(MigrationEmpty); tranection.SqlExecuted.Should().BeEmpty(); }