mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-03-27 03:02:43 -04:00
Merge pull request #94 from pozorvlak/alphabet
Sort crops case-insensitively in the plantings form.
This commit is contained in:
@@ -4,6 +4,7 @@ class Crop < ActiveRecord::Base
|
||||
attr_accessible :en_wikipedia_url, :system_name
|
||||
has_many :scientific_names
|
||||
has_many :plantings
|
||||
default_scope order("lower(system_name) asc")
|
||||
|
||||
def Crop.random
|
||||
@crop = Crop.offset(rand(Crop.count)).first
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
.control-group
|
||||
= f.label 'What did you plant?', :class => 'control-label'
|
||||
.controls= collection_select(:planting, :crop_id, Crop.all(:order => :system_name), :id, :system_name, :selected => @crop.id)
|
||||
.controls= collection_select(:planting, :crop_id, Crop.all, :id, :system_name, :selected => @crop.id)
|
||||
.control-group
|
||||
= f.label 'Where did you plant it?', :class => 'control-label'
|
||||
.controls= collection_select(:planting, :garden_id,
|
||||
|
||||
@@ -30,6 +30,16 @@ FactoryGirl.define do
|
||||
system_name "Pear"
|
||||
end
|
||||
|
||||
# This should have a name that is alphabetically earlier than :uppercase
|
||||
# crop to ensure that the ordering tests work.
|
||||
factory :lowercasecrop do
|
||||
system_name "ffrench bean"
|
||||
end
|
||||
|
||||
factory :uppercasecrop do
|
||||
system_name "Swiss chard"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -42,4 +42,12 @@ describe Crop do
|
||||
@rand_crop.system_name.should == 'Tomato'
|
||||
end
|
||||
end
|
||||
|
||||
context 'ordering' do
|
||||
it "should be sorted case-insensitively" do
|
||||
uppercase = FactoryGirl.create(:uppercasecrop)
|
||||
lowercase = FactoryGirl.create(:lowercasecrop)
|
||||
Crop.first.should == lowercase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
24
spec/views/plantings/_form.html.haml_spec.rb
Normal file
24
spec/views/plantings/_form.html.haml_spec.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe "plantings/_form" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:member)
|
||||
@garden = FactoryGirl.create(:garden, :owner => @member)
|
||||
@uppercase = FactoryGirl.create(:uppercasecrop)
|
||||
@lowercase = FactoryGirl.create(:lowercasecrop)
|
||||
@crop = @lowercase # needed to render the form
|
||||
|
||||
@planting = FactoryGirl.create(:planting,
|
||||
:garden => @garden,
|
||||
:crop => @crop
|
||||
)
|
||||
render
|
||||
end
|
||||
|
||||
context "logged in" do
|
||||
it "orders crops alphabetically" do
|
||||
rendered.should =~ /#{@lowercase.system_name}.*#{@uppercase.system_name}/m
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user