示例#1
0
        public void obter_scripts_pedente_execucao()
        {
            var scriptAplicado1 = new ChangeEntry("2.0.0.0", 8);

            scriptAplicado1.ScriptName = "8.Create Product Table.sql";
            scriptAplicado1.Status     = ScriptStatus.Success;

            var scriptAplicado2 = new ChangeEntry("2.0.0.0", 9);

            scriptAplicado2.ScriptName = "09.Add Product Data.sql";
            scriptAplicado2.Status     = ScriptStatus.Success;

            databaseSchemaVersionManager.Setup(x => x.GetAppliedChanges()).Returns(new List <ChangeEntry>
            {
                scriptAplicado1,
                scriptAplicado2
            });

            var changeScript1 = new ChangeScript("2.0.0.0", 8, "8.Create Product Table.sql");
            var changeScript2 = new ChangeScript("2.0.0.0", 9, "09.Add Product Data.sql");
            var changeScript3 = new ChangeScript("2.10.0.0", 1, "1.SQLCMD Add Customer Table.sql");

            changeScriptRepository.Setup(x => x.GetAvailableChangeScripts()).Returns(new List <ChangeScript>
            {
                changeScript1,
                changeScript2,
                changeScript3
            });

            var listaChangeScripts = repositorioScripts.ObterScriptsPendenteExecucao(null);

            listaChangeScripts.Should().NotBeEmpty();
            listaChangeScripts.Count.Should().Be(1);

            listaChangeScripts.Should().NotContain(x => x.ScriptName == "8.Create Product Table.sql" && x.Folder == "2.0.0.0");
            listaChangeScripts.Should().NotContain(x => x.ScriptName == "09.Add Product Data.sql" && x.Folder == "2.0.0.0");
            listaChangeScripts.Should().Contain(x => x.ScriptName == "1.SQLCMD Add Customer Table.sql" && x.Folder == "2.10.0.0");
        }