Sha256: cadd398c67fb577cf93974f483fdbb8f7edd35024b80933dcd9d552d5166fb94

Contents?: true

Size: 1.54 KB

Versions: 4

Compression:

Stored size: 1.54 KB

Contents

require File.dirname(__FILE__) + "/../spec_helper"

describe Admin::PagesController do

  dataset :users, :sort_pages
  
  before :each do
    login_as  :admin
  end
  
  describe '#sort' do
    before :each do
      @params = {
        :parent_id => pages(:one).id,
        :children  => "#{pages(:four).id},#{pages(:three).id},#{pages(:two).id}"
      }
    end
    
    context 'parent not sent' do
      it 'should return an error' do
        put :sort, :children => @params[:children], :format => 'js'

        response.should_not be_success
        response.body.should === 'Could not sort Pages.'
      end
    end
    
    context 'children not sent' do
      it 'should return an error' do
        put :sort, :parent_id => @params[:parent_id], :format => 'js'

        response.should_not be_success
        response.body.should === 'Could not sort Pages.'
      end
    end
    
    context 'parent and children sent' do
      it 'should return success' do
        put :sort, :parent_id => @params[:parent_id], :children => @params[:children], :format => 'js'

        response.should be_success
        response.body.should === 'Pages successfully sorted.'
      end
      
      it 'should reorder pages' do
        put :sort, :parent_id => @params[:parent_id], :children => @params[:children], :format => 'js'

        pages(:one).position.should === 1 # Don't change parent
        pages(:four).position.should === 0 # Start at zero
        pages(:three).position.should === 1
        pages(:two).position.should === 2 # End at 2
      end
    end
    
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
radiant-drag_order-extension-0.5.0 spec/controllers/pages_controller_spec.rb
radiant-drag_order-extension-0.4.8 spec/controllers/pages_controller_spec.rb
radiant-drag_order-extension-0.4.7 spec/controllers/pages_controller_spec.rb
radiant-drag_order-extension-0.4.6 spec/controllers/pages_controller_spec.rb