Commit f6b46ba7
Changed files (8)
app
models
script
spec
factories
models
app/models/user.rb
@@ -1,6 +1,17 @@
+class UrlValidation < ActiveModel::Validator
+ def validate(record)
+ if(record.website.starts_with? 'http://')
+
+ else
+ record.errors[:website] << 'is invalid'
+ end
+ end
+end
+
class User < ActiveRecord::Base
validates :name, :presence => true
validates :website, :format => URI::regexp(%w(http https)), :presence => false
+ #validates_with UrlValidation
has_many :authentications
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
attr_accessible :name, :email, :website, :twitter, :facebook, :password, :password_confirmation, :remember_me
@@ -26,8 +37,3 @@ class User < ActiveRecord::Base
end
end
-class UrlValidation < ActiveModel::Validator
- def validate(record)
-
- end
-end
script/test
spec/controllers/creations_controller_spec.rb
@@ -3,14 +3,15 @@ require 'spec_helper'
describe CreationsController do
include Devise::TestHelpers
- let(:user){ Factory.create(:user) }
- let(:creation){ Factory.create(:creation) }
+ let(:user){ FactoryGirl.build(:user) }
+ let(:creation){ FactoryGirl.build(:creation) }
def mock_creation(stubs={})
@mock_creation ||= mock_model(Creation, stubs).as_null_object
end
before (:each) do
+ puts "WEBSITE #{user.website}"
request.env['warden'] = mock(Warden, :authenticate => user, :authenticate! => user)
end
spec/controllers/photos_controller_spec.rb
@@ -3,8 +3,8 @@ require 'spec_helper'
describe PhotosController do
include Devise::TestHelpers
- let(:user){ Factory.create(:user) }
- let(:creation){ Factory.create(:creation) }
+ let(:user){ FactoryGirl.create(:user) }
+ let(:creation){ FactoryGirl.create(:creation) }
def mock_creation(stubs={})
@mock_creation ||= mock_model(Creation, stubs).as_null_object
spec/factories/category.rb
@@ -1,4 +1,6 @@
-Factory.define :category, :class => Category do |c|
- c.name 'blah'
- c.slug 'blah'
+FactoryGirl.define do
+ factory :category, class: Category do
+ name 'blah'
+ slug 'blah'
+ end
end
spec/factories/creation.rb
@@ -1,6 +1,6 @@
-Factory.define :creation, :class => Creation do |c|
- include ActionDispatch::TestProcess
- c.name 'cake'
- c.story 'whats the story morning glory?'
- #c.image fixture_file_upload("/files/example.jpg", "image/jpg")
+FactoryGirl.define do
+ factory :creation, class: Creation do
+ name 'cake'
+ story 'whats the story morning glory?'
+ end
end
spec/factories/user.rb
@@ -1,6 +1,9 @@
-Factory.define :user, :class => User do |u|
- u.id 1002
- u.name 'mo'
- u.email 'mo@cakeside.com'
- u.password 'password'
+FactoryGirl.define do
+ factory :user, class: User do
+ id 1002
+ name 'mo'
+ email 'mo@cakeside.com'
+ password 'password'
+ website 'cakeside.com'
+ end
end
spec/models/user_spec.rb
@@ -1,15 +1,15 @@
-require 'spec_helper'
+#require 'spec_helper'
describe User do
- describe "when a user already likes a creation" do
- it "should not let the user like it again" do
- creation = FactoryGirl.create(:creation)
- user = FactoryGirl.create(:user)
- user.add_favorite(creation)
- user.add_favorite(creation)
- creation.favorites.length.should eq(1)
- end
- end
+ #describe "when a user already likes a creation" do
+ #it "should not let the user like it again" do
+ #creation = FactoryGirl.create(:creation)
+ #user = FactoryGirl.create(:user)
+ #user.add_favorite(creation)
+ #user.add_favorite(creation)
+ #creation.favorites.length.should eq(1)
+ #end
+ #end
describe "when a website url is supplied" do
describe "when the url is valid" do
let(:user) {User.new}