Sha256: 1d67071e5219ac18748f17e27de51d258f73e157ef3b91a9593de56c06827b1a
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
describe Casino::Store do let(:key) { "collection_name" } let(:store) { Casino::Store.new(key) } subject { store } it { subject.must_respond_to :collection_name } it "establishes a connection to the default session" do store.collection.database.session.must_equal Mongoid.default_session end it "establishes a connection to the correct collection" do store.collection.name.must_equal key end describe '#criteria' do it "provides a criteria interface" do store.criteria.must_be_instance_of Mongoid::Criteria end end describe '#merge' do let(:womens_boots) do { '_id' => { 'date' => Date.today, 'label' => "women's boots" } } end let(:mens_boots) do { '_id' => { 'date' => Date.today, 'label' => "men's boots" } } end let(:value_hash) do { 'value' => { 'signups' => 10850, 'uniques' => 9822 } } end let(:document) { womens_boots.merge(value_hash) } let(:document_two) { mens_boots.merge(value_hash) } it "adds new documents to the collection" do store.merge(document) store.first.must_equal store.mongoize(document) end it "updates documents" do store.merge(document) store.merge(document.merge(value: { signups: 2 })) store.first['value']['signups'].must_equal 2 end it "does not replace the wrong document" do store.merge(document) store.merge(document_two) store.find.count.wont_equal 1 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-casino-0.0.3 | spec/lib/casino/store_spec.rb |