Sha256: 307e902364e96db926b2b9358766dd9449cc7d9458d7de84fdaffbefd69579d6

Contents?: true

Size: 962 Bytes

Versions: 4

Compression:

Stored size: 962 Bytes

Contents

require "rails_helper"

module Dorsale
  describe SmallData::Filter do
    let(:jar)    { {} }
    let(:filter) { {"name" => "bidule"} }
    let(:f)      { Dorsale::SmallData::Filter.new(jar) }

    describe "write" do
      it "should write the provided hash as json in the jar" do
        f.write(filter)
        expect(jar["filters"]).to eq filter.to_json
      end
    end

    describe "read" do
      it "should read stored filters" do
        f.write(filter)
        expect(f.read).to eq(filter)
      end

      it "should return empty hash by default" do
        expect(f.read).to eq({})
      end

      it "should return empty hash on invalid json" do
        jar["filters"] = "i am invalid"
        expect(f.read).to eq({})
      end
    end

    it "should set/get values" do
      filter = Dorsale::CustomerVault::SmallData::FilterForPeople.new({})
      filter.person_type = "truc"
      expect(filter.person_type).to eq "truc"
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dorsale-3.4.0 spec/filters/dorsale/small_data/filter_spec.rb
dorsale-3.3.0 spec/filters/dorsale/small_data/filter_spec.rb
dorsale-3.2.0 spec/filters/dorsale/small_data/filter_spec.rb
dorsale-3.1.7 spec/filters/dorsale/small_data/filter_spec.rb