public void ShouldUseDefaultSchemaNameWhenEmpty()
        {
            var system = new SystemUnderTest();

            system.ConfigurationStorage.Has(new StoredConfiguration {
                SchemaName = "", ConnectionString = @"Host=localhost;Database=fakedb;"
            });

            system.WorkerServerStarter.Start();

            Assert.AreEqual(DefaultSchemaName.Postgres(),
                            system.Hangfire.StartedServers.Single().storage.PostgresOptions.SchemaName);
        }
        public void ShouldThrowWhenDefaultSchemaNameAlreadyExists()
        {
            var system = new SystemUnderTest();

            system.SchemaInstaller.Has(DefaultSchemaName.Postgres(), "Host=_;Database=existingDatabase");

            Assert.Throws <Exception>(() => system.ConfigurationApi().CreateServerConfiguration(
                                          new CreatePostgresWorkerServer
            {
                Server     = "_",
                Database   = "existingDatabase",
                SchemaName = null
            }));
        }
        public void ShouldBuildWithDefaultSchemaNameForPostgres()
        {
            var system = new SystemUnderTest();
            var storedConfiguration = new StoredConfiguration
            {
                ConnectionString = "Host=localhost",
                SchemaName       = null
            };

            system.ConfigurationStorage.Has(storedConfiguration);

            var result = system.ViewModelBuilder.BuildServerConfigurations();

            Assert.AreEqual(DefaultSchemaName.Postgres(), result.Single().SchemaName);
        }
        public void ShouldCreateWithDefaultSchemaName()
        {
            var system = new SystemUnderTest();

            system.ConfigurationApi().CreateServerConfiguration(new CreatePostgresWorkerServer
            {
                Server     = "_",
                Database   = "db",
                SchemaName = null
            });

            var storedConfiguration = system.ConfigurationStorage.Data.Last();

            Assert.AreEqual(DefaultSchemaName.Postgres(), storedConfiguration.SchemaName);
        }