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

Version Path
rad_kit-0.0.8 spec/models/item_spec.rb
rad_kit-0.0.7 spec/models/item_spec.rb
rad_kit-0.0.6 spec/models/item_spec.rb
rad_kit-0.0.5 spec/models/item_spec.rb
rad_kit-0.0.4 spec/models/item_spec.rb
rad_kit-0.0.3 spec/models/item_spec.rb
rad_kit-0.0.2 spec/models/item_spec.rb
rad_kit-0.0.1 spec/models/item_spec.rb