Skip to content

Instantly share code, notes, and snippets.

@novohispano
Created January 21, 2014 22:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save novohispano/8549847 to your computer and use it in GitHub Desktop.
Save novohispano/8549847 to your computer and use it in GitHub Desktop.
Rails Model Testing Exercise
class User < ActiveRecord::Base
has_many :orders
validates :name, presence: true
validates :email, presence: true, uniqueness: true
end
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "user exists" do
result = User.new
assert result
end
test "user has a name" do
result = User.new(name: "Jorge")
assert_equal "Jorge", result.name
end
test "user has an email" do
result = User.new(email: "jorge@jumpstart.com")
assert_equal "jorge@jumpstart.com", result.email
end
test "it creates user when given valid attributes" do
result = User.new(name: "Adam", email: "jorge@jumpstart.com")
assert result.valid?
end
test "it fails to create user when not given name" do
result = User.new(email: "jorge@jumpstart.com")
refute result.valid?
end
test "it fails to create user when not given an email" do
result = User.new(name: "Jonah")
refute result.valid?
end
test "it fails to create user if email alredy exists" do
result1 = User.create(name: "Darryl", email: "pequickster@msn.com")
result2 = User.create(name: "Jorge", email: "pequickster@msn.com")
refute result2.valid?
end
test "a user has many orders" do
result = User.new
assert result.orders
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment