Advertisement
Guest User

Untitled

a guest
Aug 24th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. require 'spec_helper'
  2.  
  3. describe Contact do
  4. it "has a valid factory" do
  5. expect(build(:contact)).to be_valid
  6. end
  7.  
  8. it { should validate_presence_of :first_name }
  9. it { should validate_presence_of :last_name }
  10. it { should validate_presence_of :email }
  11. it { should validate_uniqueness_of(:email) }
  12.  
  13. it "returns a contact's full name as a string" do
  14. contact = build_stubbed(:contact,
  15. first_name: "Jane", last_name: "Doe")
  16. expect(contact.name).to eq "Jane Doe"
  17. end
  18.  
  19. describe "filter last name by letter" do
  20. let(:smith) { create(:contact,
  21. last_name: 'Smith', email: 'jsmith@example.com') }
  22. let(:jones) { create(:contact,
  23. last_name: 'Jones', email: 'tjones@example.com') }
  24. let(:johnson) { create(:contact,
  25. last_name: 'Johnson', email: 'jjohnson@example.com') }
  26.  
  27. context "matching letters" do
  28. it "returns a sorted array of results that match" do
  29. expect(Contact.by_letter("J")).to eq [johnson, jones]
  30. end
  31. end
  32.  
  33. context "non-matching letters" do
  34. it "returns a sorted array of results that match" do
  35. expect(Contact.by_letter("J")).to_not include smith
  36. end
  37. end
  38. end
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement