-
-
Save dennismonsewicz/8eb18720528a0fa5c3b5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class User < ActiveRecord::Base | |
def full_name | |
"#{first_name} #{last_name if last_name.present?}".strip | |
end | |
end | |
# Tests | |
# Without context | |
require 'spec_helper' | |
describe User do | |
let(:user) { User.new first_name: "Bob", last_name: "Sieger" } | |
describe "instance methods" do | |
describe "#full_name" do | |
it "has full_name equal to users first_name plus last_name" do | |
user.full_name.should eq "Bob Sieger" | |
end | |
it "has full_name equal to user's first_name" do | |
user.last_name = nil | |
user.full_name.should eq "Bob" | |
end | |
end | |
end | |
end | |
# With context | |
require 'spec_helper' | |
describe User do | |
let(:user) { User.new first_name: "Bob", last_name: "Sieger" } | |
describe "instance methods" do | |
describe "#full_name" do | |
context "when user has a first_name and last_name" do | |
it "has full_name equal to user's first_name and last_name" do | |
user.full_name.should eq "Bob Sieger" | |
end | |
end | |
context "when user has only first_name" do | |
it "has full_name equal to user's first_name" do | |
user.last_name = nil | |
user.full_name.should eq "Bob" | |
end | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment