Sha256: 763999b17231bdd053c8d000d5204c31ed21bca2f67a62876803fee6aa92e131
Contents?: true
Size: 1.57 KB
Versions: 8
Compression:
Stored size: 1.57 KB
Contents
require 'spec_helper' describe "item" do with_models login_as :user it 'slug validation (from error)' do i = Factory.create :item i.slug = 'space ' i.should_not be_valid end describe 'safe_query' do it "general case" do Models::Item.safe_query( name: 'name', created_at: '10/11/2000', order: "state asc", owner_name: 'name', state: ['state'], tags: 'tag', _type: 'Note', updated_at: ['10/11/2000'], viewers: 'role', collaborators: 'role' ).should == [{ "name"=>"name", "created_at" => "10/11/2000".to_time, "order" => "state asc", "owner_name" => "name", "state" => ["state"], "tags" => "tag", "_type" => "Note", "updated_at" => ["10/11/2000".to_time] }, true] end it "should allow only one-level order and only indexed keywords" do Models::Item.safe_query(order: "name").should == [{'order' => "name"}, false] Models::Item.safe_query(order: "name desc").should == [{'order' => "name desc"}, false] Models::Item.safe_query(order: "name asc").should == [{'order' => "name asc"}, false] Models::Item.safe_query(order: "dependent").should == [{}, true] # not indexed # two level order Models::Item.safe_query(order: "name created_at").should == [{'order' => 'name'}, true] Models::Item.safe_query(order: "name created_at desc").should == [{'order' => 'name'}, true] end end end
Version data entries
8 entries across 8 versions & 1 rubygems