Sha256: aa2bc7bbd1f3643bca0692b6545b844f2494336e3108c626559cb2fe3f1b6d03

Contents?: true

Size: 1.75 KB

Versions: 59

Compression:

Stored size: 1.75 KB

Contents

require "spec_helper"

describe Mongoid::Config::Environment do

  after(:all) do
    Rails = RailsTemp
    Object.send(:remove_const, :RailsTemp)
  end

  describe "#env_name" do

    context "when using rails" do

      context "when an environment exists" do

        before do
          module Rails
            class << self
              def env; "production"; end
            end
          end
        end

        after do
          RailsTemp = Rails
          Object.send(:remove_const, :Rails)
        end

        it "returns the rails environment" do
          expect(described_class.env_name).to eq("production")
        end
      end
    end

    context "when using sinatra" do

      before do
        Object.send(:remove_const, :Rails) if defined?(Rails)

        module Sinatra
          module Base
            extend self
            def environment; :staging; end
          end
        end
      end

      after do
        Object.send(:remove_const, :Sinatra)
      end

      it "returns the sinatra environment" do
        expect(described_class.env_name).to eq("staging")
      end
    end

    context "when the rack env variable is defined" do

      before do
        Object.send(:remove_const, :Rails) if defined?(Rails)
        ENV["RACK_ENV"] = "acceptance"
      end

      after do
        ENV["RACK_ENV"] = nil
      end

      it "returns the rack environment" do
        expect(described_class.env_name).to eq("acceptance")
      end
    end

    context "when no environment information is found" do

      before do
        Object.send(:remove_const, :Rails) if defined?(Rails)
      end

      it "raises an error" do
        expect { described_class.env_name }.to raise_error(
          Mongoid::Errors::NoEnvironment
        )
      end
    end
  end
end

Version data entries

59 entries across 55 versions & 3 rubygems

Version Path
mongoid-7.0.13 spec/mongoid/config/environment_spec.rb
mongoid-7.0.12 spec/mongoid/config/environment_spec.rb
mongoid-6.4.8 spec/mongoid/config/environment_spec.rb
mongoid-7.0.11 spec/mongoid/config/environment_spec.rb
mongoid-7.0.10 spec/mongoid/config/environment_spec.rb
mongoid-6.4.7 spec/mongoid/config/environment_spec.rb
mongoid-6.4.5 spec/mongoid/config/environment_spec.rb
mongoid-7.0.8 spec/mongoid/config/environment_spec.rb
mongoid-7.0.7 spec/mongoid/config/environment_spec.rb
mongoid-7.0.6 spec/mongoid/config/environment_spec.rb
mongoid-5.4.1 spec/mongoid/config/environment_spec.rb
mongoid-7.0.5 spec/mongoid/config/environment_spec.rb
mongoid-7.0.4 spec/mongoid/config/environment_spec.rb
mongoid-6.4.4 spec/mongoid/config/environment_spec.rb
mongoid-7.0.3 spec/mongoid/config/environment_spec.rb
mongoid-6.4.2 spec/mongoid/config/environment_spec.rb
mongoid-7.0.2 spec/mongoid/config/environment_spec.rb
mongoid-7.0.1 spec/mongoid/config/environment_spec.rb
mongoid-6.4.1 spec/mongoid/config/environment_spec.rb
mongoid-5.4.0 spec/mongoid/config/environment_spec.rb