Permalink
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (47 sloc) 2.06 KB
require 'test_helper.rb'
class AutoModelsControllerTest < ActionController::TestCase
@@sortable_regexp = Regexp.new('Sortable.create\("as_auto_models-tbody", \{format:/\^\[\^_-\]\(\?:\[A-Za-z0-9_-\]\*\)-\(\.\*\)-row\$/, onUpdate:function\(\)\{new Ajax.Request\(\'/auto_models/reorder\', \{asynchronous:true, evalScripts:true, parameters:Sortable.serialize\("as_auto_models-tbody"\) \+ \'&controller=\' \+ encodeURIComponent\(\'auto_models\'\)\}\)\}, tag:\'tr\'\}\)')
setup { AutoModel.create :name => 'test', :position => 1 }
context "reordering" do
setup do
updates = sequence(:updates)
AutoModel.expects(:update_all).with({:position => 1}, 'id' => '2').in_sequence(updates)
AutoModel.expects(:update_all).with({:position => 2}, 'id' => '1').in_sequence(updates)
xhr :post, :reorder, :'as_auto_models-tbody' => ['2', '1']
end
should_respond_with :success
should_render_template :reorder
should "update stripe" do
assert_equal 'ActiveScaffold.stripe(\'as_auto_models-tbody\');', @response.body
end
end
context "listing" do
setup { get :index }
should "render record with sortable class" do
assert_select '.records tr.record.sortable'
end
should "render sortable script" do
assert_select 'script[type=text/javascript]', @@sortable_regexp
end
end
context "creating" do
setup { xhr :post, :create, :record => {:name => 'test2', :position => 2} }
should_respond_with :success
should "insert at top" do
assert_match "$(\"as_auto_models-tbody\").insert(\"as_auto_models-list-#{assigns(:record).id}-row\");", @response.body
end
should "update stripe" do
assert_match 'ActiveScaffold.stripe(\'as_auto_models-tbody\');', @response.body
end
should "update sortable" do
assert_match @@sortable_regexp, @response.body
end
end
context "updating" do
setup { xhr :put, :update, :id => 1, :record => {:name => 'test updated'} }
should_respond_with :success
should "update sortable" do
assert_match @@sortable_regexp, @response.body
end
end
end