Files
old-holivud2/spec/models/app_host_spec.rb
2020-08-04 08:16:16 +02:00

151 lines
3.6 KiB
Ruby

require "rails_helper"
describe AppHost do
describe "#domain" do
it "returns the domain set in the environment" do
env = { "DOMAIN" => "test-domain.com" }
app_domain = AppHost.new(env, "development")
expect(app_domain.domain).to eq("test-domain.com")
end
context "when domain is not set in the environment" do
it "returns the default domain for the development environment" do
env = {}
app_domain = AppHost.new(env, "development")
expect(app_domain.domain).to eq("localhost")
end
it "returns the default domain for the test environment" do
env = {}
app_domain = AppHost.new(env, "test")
expect(app_domain.domain).to eq("localhost")
end
it "returns the default domain for the production environment" do
env = {}
app_domain = AppHost.new(env, "production")
expect(app_domain.domain).to eq("mesuite.ai")
end
end
end
describe "#port" do
it "returns the port set in the environment" do
env = { "WEB_PORT" => 4000 }
app_domain = AppHost.new(env, "development")
expect(app_domain.port).to eq(4000)
end
context "when port is not set in the environment" do
it "returns the port domain for the development environment" do
env = {}
app_domain = AppHost.new(env, "development")
expect(app_domain.port).to eq(3000)
end
it "returns the default port for the test environment" do
env = {}
app_domain = AppHost.new(env, "test")
expect(app_domain.port).to eq(31337)
end
it "returns the default port for the production environment" do
env = {}
app_domain = AppHost.new(env, "production")
expect(app_domain.port).to eq(nil)
end
end
end
describe "#domain_with_port" do
it "returns the combination of domain with the port" do
env = { "DOMAIN" => "test-domain.com", "WEB_PORT" => 4000 }
app_domain = AppHost.new(env, "development")
expect(app_domain.domain_with_port).to eq("test-domain.com:4000")
end
context "when port is not specified at all" do
it "omits the port portion of the URL" do
env = { "DOMAIN" => "test-domain.com" }
app_domain = AppHost.new(env, "production")
expect(app_domain.domain_with_port).to eq("test-domain.com")
end
end
end
describe "#use_ssl" do
it "returns true if the value set in the environment" do
env = { "USE_SSL" => "true" }
app_domain = AppHost.new(env, "development")
expect(app_domain).to be_using_ssl
end
context "when the value is not set in the environment" do
it "returns the default value for the development environment" do
env = {}
app_domain = AppHost.new(env, "development")
expect(app_domain).not_to be_using_ssl
end
it "returns the default value for the test environment" do
env = {}
app_domain = AppHost.new(env, "test")
expect(app_domain).not_to be_using_ssl
end
it "returns the default value for the production environment" do
env = {}
app_domain = AppHost.new(env, "production")
expect(app_domain).to be_using_ssl
end
end
end
describe "#protocol" do
it "returns 'https' when using SSL" do
env = { "USE_SSL" => true }
app_domain = AppHost.new(env)
expect(app_domain.protocol).to eq :https
end
it "returns 'http's when not using SSL" do
env = {}
app_domain = AppHost.new(env)
expect(app_domain.protocol).to eq :http
end
end
end