spec/requests/main_spec.rb in merb-admin-0.4.5 vs spec/requests/main_spec.rb in merb-admin-0.4.6
- old
+ new
@@ -1,19 +1,19 @@
require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb')
given "a player exists" do
- @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1", :sex => :male, :position => :pitcher)
+ @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1")
end
given "a draft exists" do
@draft = MerbAdmin::AbstractModel.new("Draft").create(:player_id => rand(99999), :team_id => rand(99999), :date => Date.today, :round => rand(50), :pick => rand(30), :overall => rand(1500))
end
given "two players exist" do
@players = []
2.times do |i|
- @players << MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player #{i}", :sex => :male, :position => :pitcher)
+ @players << MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player #{i}")
end
end
given "three teams exist" do
@teams = []
@@ -21,16 +21,16 @@
@teams << MerbAdmin::AbstractModel.new("Team").create(:league_id => rand(99999), :division_id => rand(99999), :name => "Team #{i}")
end
end
given "a player exists and a draft exists" do
- @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1", :sex => :male, :position => :pitcher)
+ @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1")
@draft = MerbAdmin::AbstractModel.new("Draft").create(:player_id => rand(99999), :team_id => rand(99999), :date => Date.today, :round => rand(50), :pick => rand(30), :overall => rand(1500))
end
given "a player exists and three teams exist" do
- @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1", :sex => :male, :position => :pitcher)
+ @player = MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player 1")
@teams = []
3.times do |i|
@teams << MerbAdmin::AbstractModel.new("Team").create(:league_id => rand(99999), :division_id => rand(99999), :name => "Team #{i}")
end
end
@@ -44,11 +44,11 @@
end
given "twenty players exist" do
@players = []
20.times do |i|
- @players << MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player #{i}", :sex => :male, :position => :pitcher)
+ @players << MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => rand(99), :name => "Player #{i}")
end
end
describe "MerbAdmin" do
@@ -89,12 +89,12 @@
end
end
describe "list with query" do
before(:each) do
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :sex => :male, :position => :second)
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :sex => :male, :position => :pitcher)
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
@response = request(url(:admin_list, :model_name => "player"), :params => {:query => "Jackie Robinson"})
end
it "should respond sucessfully" do
@response.should be_successful
@@ -109,12 +109,12 @@
end
end
describe "list with sort" do
before(:each) do
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :sex => :male, :position => :second)
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :sex => :male, :position => :pitcher)
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
@response = request(url(:admin_list, :model_name => "player"), :params => {:sort => "name"})
end
it "should respond sucessfully" do
@response.should be_successful
@@ -125,12 +125,12 @@
end
end
describe "list with reverse sort" do
before(:each) do
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :sex => :male, :position => :second)
- MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :sex => :male, :position => :pitcher)
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
@response = request(url(:admin_list, :model_name => "player"), :params => {:sort => "name", :sort_reverse => "true"})
end
it "should respond sucessfully" do
@response.should be_successful
@@ -139,10 +139,30 @@
it "should be sorted correctly" do
@response.body.should contain(/Sandy Koufax.*Jackie Robinson/m)
end
end
+ describe "list with boolean filter" do
+ before(:each) do
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 18, :name => "Moises Alou", :position => "left", :injured => true)
+ MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 5, :name => "David Wright", :position => "third", :injured => false)
+ @response = request(url(:admin_list, :model_name => "player"), :params => {:filter => {:injured => true}})
+ end
+
+ it "should respond sucessfully" do
+ @response.should be_successful
+ end
+
+ it "should contain a correct result" do
+ @response.body.should contain("Moises Alou")
+ end
+
+ it "should not contain an incorrect result" do
+ @response.body.should_not contain("David Wright")
+ end
+ end
+
describe "list with 2 objects", :given => "two players exist" do
before(:each) do
MerbAdmin[:paginate] = true
MerbAdmin[:per_page] = 1
@response = request(url(:admin_list, :model_name => "player"))
@@ -296,11 +316,11 @@
end
end
describe "create" do
before(:each) do
- @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}})
+ @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => "second"}})
end
it "should redirect to list" do
@response.should redirect_to(url(:admin_list, :model_name => "player"))
end
@@ -310,11 +330,11 @@
end
end
describe "create and edit" do
before(:each) do
- @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :_continue => true})
+ @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => "second"}, :_continue => true})
end
it "should redirect to edit" do
@response.should redirect_to(url(:admin_edit, :model_name => "player", :id => MerbAdmin::AbstractModel.new("Player").first.id))
end
@@ -324,11 +344,11 @@
end
end
describe "create and add another" do
before(:each) do
- @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :_add_another => true})
+ @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => "second"}, :_add_another => true})
end
it "should redirect to new" do
@response.should redirect_to(url(:admin_new, :model_name => "player"))
end
@@ -338,11 +358,11 @@
end
end
describe "create with has-one association", :given => "a draft exists" do
before(:each) do
- @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @draft.id}})
+ @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => "second"}, :associations => {:draft => @draft.id}})
end
it "should create a new object" do
MerbAdmin::AbstractModel.new("Player").first.should_not be_nil
end
@@ -381,11 +401,11 @@
end
end
describe "update", :given => "a player exists" do
before(:each) do
- @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}})
+ @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1}})
end
it "should redirect to list" do
@response.should redirect_to(url(:admin_list, :model_name => "player"))
end
@@ -395,11 +415,11 @@
end
end
describe "update and edit", :given => "a player exists" do
before(:each) do
- @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}, :_continue => true})
+ @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1}, :_continue => true})
end
it "should redirect to edit" do
@response.should redirect_to(url(:admin_edit, :model_name => "player", :id => @player.id))
end
@@ -409,11 +429,11 @@
end
end
describe "update and add another", :given => "a player exists" do
before(:each) do
- @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}, :_add_another => true})
+ @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1}, :_add_another => true})
end
it "should redirect to new" do
@response.should redirect_to(url(:admin_new, :model_name => "player"))
end
@@ -423,11 +443,11 @@
end
end
describe "update with has-one association", :given => "a player exists and a draft exists" do
before(:each) do
- @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @draft.id}})
+ @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => "second"}, :associations => {:draft => @draft.id}})
end
it "should update an object that already exists" do
MerbAdmin::AbstractModel.new("Player").first.name.should eql("Jackie Robinson")
end
@@ -456,10 +476,10 @@
end
end
describe "update with missing object" do
before(:each) do
- @response = request(url(:admin_update, :model_name => "player", :id => 1), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}})
+ @response = request(url(:admin_update, :model_name => "player", :id => 1), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1}})
end
it "should raise NotFound" do
@response.status.should == 404
end