diff --git a/app/models/garden.rb b/app/models/garden.rb index 78723c13f..de3493e5c 100644 --- a/app/models/garden.rb +++ b/app/models/garden.rb @@ -1,3 +1,7 @@ class Garden < ActiveRecord::Base + extend FriendlyId + friendly_id :name, use: :slugged + attr_accessible :name, :slug, :user_id + end diff --git a/db/migrate/20121105032913_create_gardens.rb b/db/migrate/20121105032913_create_gardens.rb index 532bf7ebd..eaa7715d6 100644 --- a/db/migrate/20121105032913_create_gardens.rb +++ b/db/migrate/20121105032913_create_gardens.rb @@ -2,7 +2,7 @@ class CreateGardens < ActiveRecord::Migration def change create_table :gardens do |t| t.string :name, :null => false - t.integer :user_id, :null => false + t.integer :user_id t.string :slug, :null => false t.timestamps diff --git a/db/migrate/20121105035239_setup_test_users.rb b/db/migrate/20121105035239_setup_test_users.rb new file mode 100644 index 000000000..c4e04a390 --- /dev/null +++ b/db/migrate/20121105035239_setup_test_users.rb @@ -0,0 +1,19 @@ +class SetupTestUsers < ActiveRecord::Migration + def up + if Rails.env.development? or Rails.env.test? + (1..3).each do |i| + @user = User.create(:username => "test#{i}", :email => "test#{i}@example.com", :password => "password#{i}") + @user.save! + end + end + end + + def down + if Rails.env.development? or Rails.env.test? + (1..3).each do |i| + @user = User.find_by_username("test#{i}") + @user.try(:destroy) + end + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 808d6ac76..6c5cb802b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20121105032913) do +ActiveRecord::Schema.define(:version => 20121105035239) do create_table "crops", :force => true do |t| t.string "system_name", :null => false @@ -26,7 +26,7 @@ ActiveRecord::Schema.define(:version => 20121105032913) do create_table "gardens", :force => true do |t| t.string "name", :null => false - t.integer "user_id", :null => false + t.integer "user_id" t.string "slug", :null => false t.datetime "created_at", :null => false t.datetime "updated_at", :null => false diff --git a/spec/controllers/gardens_controller_spec.rb b/spec/controllers/gardens_controller_spec.rb index 7c7117980..e3a79d990 100644 --- a/spec/controllers/gardens_controller_spec.rb +++ b/spec/controllers/gardens_controller_spec.rb @@ -24,7 +24,7 @@ describe GardensController do # Garden. As you add validations to Garden, be sure to # update the return value of this method accordingly. def valid_attributes - {} + {:name => 'My Garden'} end # This should return the minimal set of values that should be in the session diff --git a/spec/migrations/set_up_test_users.spec b/spec/migrations/set_up_test_users.spec new file mode 100644 index 000000000..d1f69d3f6 --- /dev/null +++ b/spec/migrations/set_up_test_users.spec @@ -0,0 +1,10 @@ +require 'spec_helper' + +describe 'test users' do + it 'should have 3 test users' do + (1..3).each do |i| + @user = User.find_by_username("test#{i}") + @user.email.should == "test#{i}@example.com" + end + end +end