private static void PlanToGoBetweenVersions(int currentVersion, int?targetVersion) { var databaseLocalMemory = new DatabaseLocalMemory(); ChangePlanner.MakePlan(databaseLocalMemory, new ChangeGoal(currentVersion, targetVersion), TestData.Migrations(3, 4, 5).ToLoaders()); }
private static MigrationSet RequestMigrationBetween(int currentVersion, int?destinationVersion, IMigrationLoader[] migrationsAvailable = null) { var available = migrationsAvailable ?? DefinedVersions(0); return(ChangePlanner.MakePlan(null, new ChangeGoal(currentVersion, destinationVersion), available)); }
public void MigrationSetShouldFindMigrationsFromDiskAndSpecialZeroMigrationLoader() { const string dirName = "c:\\"; var testSubject = new ChangePlanner(null, new ChangeGoal(0, null)); var result = testSubject.UsingMigrationsFrom(dirName); result.Loaders.Should().BeEquivalentTo( new MigrationRepoDirectory(new DirectoryOnDisk(dirName)), new MigrationRepoMakeDbVersionAware()); }
public void MigrationSetShouldGiveGoodErrorWhenGivenInvalidDirectory() { const string dirName = @"c:\directory\that\does\not\exist"; var testSubject = new ChangePlanner(null, new ChangeGoal(0, null)); testSubject.Invoking(t => t.UsingMigrationsFrom(dirName)) .Should().Throw <TerminateProgramWithMessageException>() .WithMessage( @"Could not find migration directory. You said migrations were in 'c:\directory\that\does\not\exist'. However, I could not find that directory.") .And.ErrorLevel.Should().Be(2); }