mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-25 01:13:03 -04:00
sorting gardens alphabetically, so behaviour is clearer
This commit is contained in:
@@ -7,6 +7,8 @@ class Garden < ActiveRecord::Base
|
||||
has_many :plantings, :order => 'created_at DESC'
|
||||
has_many :crops, :through => :plantings
|
||||
|
||||
default_scope order("lower(name) asc")
|
||||
|
||||
def garden_slug
|
||||
"#{owner.login_name}-#{name}".downcase.gsub(' ', '-')
|
||||
end
|
||||
|
||||
@@ -3,5 +3,15 @@ FactoryGirl.define do
|
||||
name 'Springfield Community Garden'
|
||||
description "This is a **totally** cool garden"
|
||||
owner
|
||||
|
||||
# the following are used for testing alphabetical ordering
|
||||
factory :garden_a do
|
||||
name 'A garden starting with A'
|
||||
end
|
||||
|
||||
factory :garden_z do
|
||||
name 'Zzzz this garden makes me sleepy'
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -59,4 +59,12 @@ describe Garden do
|
||||
end
|
||||
end
|
||||
|
||||
context 'ordering' do
|
||||
it "should be sorted alphabetically" do
|
||||
z = FactoryGirl.create(:garden_z)
|
||||
a = FactoryGirl.create(:garden_a)
|
||||
Garden.first.should == a
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -17,9 +17,8 @@ describe "plantings/edit" do
|
||||
@maize = FactoryGirl.create(:maize)
|
||||
|
||||
# and likewise for gardens
|
||||
@garden = FactoryGirl.create(:garden, :owner => @right_member)
|
||||
@garden2 = FactoryGirl.create(:garden, :owner => @right_member,
|
||||
:name => "An alphabetically earlier garden")
|
||||
@garden = FactoryGirl.create(:garden_z, :owner => @right_member)
|
||||
@garden2 = FactoryGirl.create(:garden_a, :owner => @right_member)
|
||||
|
||||
@planting = assign(:planting,
|
||||
FactoryGirl.create(:planting, :garden => @garden, :crop => @tomato)
|
||||
|
||||
@@ -5,12 +5,15 @@ describe "plantings/new" do
|
||||
@member = FactoryGirl.create(:member)
|
||||
|
||||
# create gardens and crops to populate dropdowns
|
||||
@garden1 = FactoryGirl.create(:garden, :owner => @member, :name => 'Garden1')
|
||||
@garden2 = FactoryGirl.create(:garden, :owner => @member, :name => 'Garden2')
|
||||
@garden_a = FactoryGirl.create(:garden, :owner => @member)
|
||||
@garden_z = FactoryGirl.create(:garden, :owner => @member)
|
||||
@crop1 = FactoryGirl.create(:tomato)
|
||||
@crop2 = FactoryGirl.create(:maize)
|
||||
|
||||
assign(:planting, FactoryGirl.create(:planting, :garden => @garden1))
|
||||
assign(:planting, FactoryGirl.create(:planting,
|
||||
:garden => @garden_a,
|
||||
:crop => @crop2
|
||||
))
|
||||
|
||||
end
|
||||
|
||||
@@ -24,8 +27,9 @@ describe "plantings/new" do
|
||||
context "logged in" do
|
||||
before(:each) do
|
||||
sign_in @member
|
||||
assign(:planting, Planting.new())
|
||||
assign(:crop, @crop2)
|
||||
assign(:garden, @garden2)
|
||||
assign(:garden, @garden_z)
|
||||
render
|
||||
end
|
||||
|
||||
@@ -45,7 +49,7 @@ describe "plantings/new" do
|
||||
|
||||
it "selects a garden given in a param" do
|
||||
assert_select "select#planting_garden_id",
|
||||
:html => /option value="#{@garden2.id}" selected="selected"/
|
||||
:html => /option value="#{@garden_z.id}" selected="selected"/
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user