wrote migration to add test users, fixed tests

This commit is contained in:
Norman Ancajas
2012-11-05 13:03:19 +08:00
parent f89815b6b3
commit 77c2e83c64
6 changed files with 37 additions and 4 deletions

View File

@@ -1,3 +1,7 @@
class Garden < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
attr_accessible :name, :slug, :user_id
end

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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