Sha256: e2a68571c142643c02eeaa253430a5711e33d0725b30dddff8be218d5d9e4ce4
Contents?: true
Size: 1.87 KB
Versions: 5
Compression:
Stored size: 1.87 KB
Contents
require 'spec_helper' describe ArrayStore do before do @connection = ActiveRecord::Base.connection @connection.transaction do @connection.create_table('array_stores') do |t| t.string 'tags', default: [], null: false, array: true t.string 'name' end end ArrayStore.reset_column_information end after do @connection.drop_table 'array_stores', if_exists: true end let!(:setup) do ArrayStore.create!(name: 'a', tags: [1, 2, 'a', 'b']) ArrayStore.create!(name: 'b', tags: [2, 'b', 'e']) ArrayStore.create!(name: 'c', tags: ['b']) ArrayStore.create!(name: 'd') ArrayStore.create!(name: 'e', tags: [2, 'x', 'c']) end context '#overlap' do it "single simple argument" do records = ArrayStore.where.store(:tags).overlap(:b) expect(records.size).to eq 3 end it "several arguments" do records = ArrayStore.where.store(:tags).overlap('a', 1) expect(records.size).to eq 1 expect(records.first.name).to eq 'a' end it "single array argument" do records = ArrayStore.where.store(:tags).overlap([1, 'x']) expect(records.size).to eq 2 end end it '#contains' do records = ArrayStore.where.store(:tags).contains([2, 'b']) expect(records.size).to eq 2 records = ArrayStore.where.store(:tags).contains([2, 'x']) expect(records.size).to eq 1 expect(records.first.name).to eq 'e' end it '#contained' do records = ArrayStore.where.store(:tags).contained([1, 2, 'a', 'b']) expect(records.size).to eq 3 expect(records.detect { |r| r.name == 'd' }).not_to be_nil records = ArrayStore.where.store(:tags).contained([]) expect(records.size).to eq 1 expect(records.first.name).to eq 'd' end context '#not' do it '#overlap' do expect(ArrayStore.where.store(:tags).not.overlap('b', 2).size).to eq 1 end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
pgrel-0.2.0 | spec/pgrel/array_spec.rb |
pgrel-0.1.3 | spec/pgrel/array_spec.rb |
pgrel-0.1.2 | spec/pgrel/array_spec.rb |
pgrel-0.1.1 | spec/pgrel/array_spec.rb |
pgrel-0.1.0 | spec/pgrel/array_spec.rb |