public void Resolve()
        {
            var sut    = new EmbeddedResourceMigrationResolver(typeof(MigrationFixtures.R));
            var actual = sut.Resolve();

            Assert.That(actual, Has.Count.EqualTo(4), "actual");
            Assert.That(actual, Does.Not.Contain(null), "actual");

            Assert.Multiple(() =>
            {
                Assert.That(actual[0].Version, Is.EqualTo(1L), "actual[0].Version");
                Assert.That(actual[0].DisableTransaction, Is.False, "actual[0].DisableTransaction");

                Assert.That(actual[1].Version, Is.EqualTo(2L), "actual[1].Version");
                Assert.That(actual[1].DisableTransaction, Is.False, "actual[1].DisableTransaction");

                Assert.That(actual[2].Version, Is.EqualTo(3L), "actual[2].Version");
                Assert.That(actual[2].DisableTransaction, Is.True, "actual[2].DisableTransaction");

                Assert.That(actual[3].Version, Is.EqualTo(4L), "actual[3].Version");
                Assert.That(actual[3].DisableTransaction, Is.False, "actual[3].DisableTransaction");
            });
        }
Exemplo n.º 2
0
        public async Task MigrateAsync_HaveHalf_AllIsMigrated()
        {
            var resolver = new EmbeddedResourceMigrationResolver(typeof(MigrationFixtures.R));

            // Part 1
            var migration = new DbMigrator(new ListMigrationResolver(resolver.Resolve().Take(2).ToList()));
            await migration.MigrateAsync(Database.ConnectionString);

            await using var cnn = await Database.ConnectionFactory.OpenAsync();

            var fruits = await cnn.QueryAsync <string>("SELECT [Name] FROM [Fruit] ORDER BY [Created] ASC");

            Assert.That(fruits, Is.EqualTo(new [] { "Banana" }));

            // Part 2
            migration = new DbMigrator(resolver);
            await migration.MigrateAsync(Database.ConnectionString);

            await using var cnn2 = await Database.ConnectionFactory.OpenAsync();

            fruits = await cnn.QueryAsync <string>("SELECT [Name] FROM [Fruit] ORDER BY [Created] ASC");

            Assert.That(fruits, Is.EqualTo(new[] { "Banana", "Apple", "Orange" }));
        }