public void GetMgUsedVariables_Throws_If_File_Does_Not_Exist()
        {
            FileManagerMock.FileExists("migrations/rollout/one.sql", false);

            var command = new GetMgUsedVariables(GetMockedDependencies())
            {
                MigrationFile = "migrations/rollout/one.sql"
            };

            Assert.Throws <Exception>(() => command.Invoke()?.OfType <string[]>()?.First());
        }
        public void GetMgUsedVariables_Returns_Correct_Variables()
        {
            FileManagerMock.FileExists("migrations/rollout/one.sql", true);
            FileManagerMock.ReadAllText("migrations/rollout/one.sql", "SELECT ${{VAR_ME}} FROM ${{VAR_YOU}}");

            var command = new GetMgUsedVariables(GetMockedDependencies())
            {
                MigrationFile = "migrations/rollout/one.sql"
            };

            var result = command.Invoke()?.OfType <string[]>()?.First();

            Assert.Equal(new[] { "VAR_ME", "VAR_YOU" }, result);
        }
        public void GetMgUsedVariables_Returns_Empty_When_No_Variables_Is_Used()
        {
            FileManagerMock.FileExists("migrations/rollout/one.sql", true);
            FileManagerMock.ReadAllText("migrations/rollout/one.sql", "SELECT ME FROM YOU");

            var command = new GetMgUsedVariables(GetMockedDependencies())
            {
                MigrationFile = "migrations/rollout/one.sql"
            };

            var result = command.Invoke()?.OfType <string[]>()?.First();

            Assert.Empty(result);
        }
Exemple #4
0
        public void NewMgSeeder_Creates_Seeds_Directory_If_Not_Exists()
        {
            var seedPath = Path.Join("migrations", "seeders");

            ConfigManagerMock.SeedersDirectory(seedPath);
            FileManagerMock.DirectoryExists(seedPath, false);
            FileManagerMock.CreateDirectory(seedPath);
            FileManagerMock.GetFilePrefix("test_prefix");
            FileManagerMock.GetFormattedName("file_name");
            FileManagerMock.FileExists("migrations/seeders/test_prefix_file_name.sql", false);
            FileManagerMock.CreateFile("migrations/seeders/test_prefix_file_name.sql");

            var command = new NewMgSeeder(GetMockedDependencies())
            {
                Name = "This is my migration"
            };

            var result = command.Invoke()?.OfType <string>().First();

            Assert.NotNull(result);
            Assert.Contains(seedPath, result);
            FileManagerMock.VerifyCreateDirectory(seedPath, Times.Once());
            FileManagerMock.VerifyCreateFile("migrations/seeders/test_prefix_file_name.sql", Times.Once());
        }