Sha256: e6aff6b7c4931773fd0cdfbb24d4ce6457e2bd449a6abb2541b21788fb506e21

Contents?: true

Size: 999 Bytes

Versions: 2

Compression:

Stored size: 999 Bytes

Contents

require 'spec_helper'

RSpec.describe Storey do

  describe ".configure" do
    it "customizes settings" do
      described_class.configure do |c|
        c.database_url = "postgres://url.com/db"
      end

      expect(described_class.configuration.database_url).
        to eq "postgres://url.com/db"
    end
  end

  describe ".switch" do
    it "does not cache between switches" do
      Storey.create("s1") do
        2.times {|n| Post.create(name: n.to_s) }
      end

      Storey.create("s2") do
        3.times {|n| Post.create(name: n.to_s) }
      end

      Storey.switch("s1") { expect(Post.count).to eq 2 }
      Storey.switch("s2") { expect(Post.count).to eq 3 }

      Storey.switch("s1")
      expect(Post.count).to eq 2

      Storey.switch("s2")
      expect(Post.count).to eq 3

      Storey.create "foobar"
      Storey.switch "foobar"
      Storey.switch { Post.create }
      expect(Post.count).to be_zero
      Storey.switch { expect(Post.count).to eq 1 }
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
storey-2.2.0 spec/lib/storey_spec.rb
storey-2.1.2 spec/lib/storey_spec.rb