Commit 7cbeda87

mo khan <mo@mokhan.ca>
2015-01-02 17:01:13
fix broken build.
1 parent 5173bb5
Changed files (2)
app
models
spec
app/models/user.rb
@@ -45,7 +45,7 @@ class User < ActiveRecord::Base
   end
 
   def send_welcome_email
-    UserMailer.delay.welcome_email(self)
+    UserMailer.welcome_email(self).deliver_later
     Subscription.delay.subscribe(email: email, first_name: name, last_name: '')
   end
 
@@ -66,7 +66,7 @@ class User < ActiveRecord::Base
   end
 
   def notify_of_activity
-    NotificationMailer.delay.notification_email(self)
+    NotificationMailer.notification_email(self).deliver_later
   end
 
   class << self
spec/models/user_spec.rb
@@ -1,21 +1,6 @@
 require 'rails_helper'
 
 describe User do
-  describe "#properties" do
-    it { should respond_to :name }
-    it { should respond_to :email }
-    it { should respond_to :twitter }
-    it { should respond_to :facebook }
-    it { should respond_to :city }
-    it { should respond_to :password }
-    it { should respond_to :website }
-    it { should respond_to :interests }
-    it { should respond_to :creations }
-    it { should respond_to :favorites }
-    it { should respond_to :tutorials }
-    it { should respond_to :avatar }
-  end
-
   describe "validations" do
     subject { build(:user) }
 
@@ -45,95 +30,89 @@ describe User do
       before(:each) { user.update_attribute(:website, 'http://example.com') }
 
       it "can validate" do
-        user.errors[:website].any?.should == false
+        expect(user.errors[:website].any?).to be_falsey
       end
 
       it "should not have any validation error messages" do
-        user.errors[:website].should === []
+        expect(user.errors[:website]).to be_empty
       end
     end
 
     describe "when the url is not valid" do
       let(:user) { User.new }
 
-      before(:each) { user.update_attributes(:website => 'blah') }
+      before(:each) { user.update(website: 'blah') }
 
       it "cannot validate" do
-        user.errors[:website].any?.should == true
+        expect(user.errors[:website].any?).to be_truthy
       end
 
       it "should have an error message" do
-        user.errors[:website].should === ["is invalid"]
+        expect(user.errors[:website]).to match_array(["is invalid"])
       end
     end
   end
 
   describe "when checking if a user already likes a creation" do
-    let(:sut) { create(:user) }
+    subject { create(:user) }
     let(:cake) { create(:creation) }
 
     describe "when they do" do
-      before :each do
-        sut.add_favorite(cake)
-      end
-
-      let(:result) { sut.already_likes(cake) }
-
-      it "should return true" do
-        result.should be_truthy
+      it "returns true" do
+        subject.add_favorite(cake)
+        expect(subject.already_likes(cake)).to be_truthy
       end
     end
 
     describe "when they do not" do
-      let(:result) { sut.already_likes(cake) }
+      let(:result) { subject.already_likes(cake) }
 
       it "should return false" do
-        result.should be_falsey
+        expect(subject.already_likes(cake)).to be_falsey
       end
     end
   end
 
   describe "when a user adds a cake to their favorites" do
-    let(:sut) { create(:user) }
+    subject { create(:user) }
     let!(:cake) { create(:creation) }
 
     context "when the cake is already in their favorites" do
-      let!(:favorite) { create(:favorite, :creation => cake, :user => sut) }
-      let(:result) { sut.add_favorite(cake) }
+      let!(:favorite) { create(:favorite, creation: cake, user: subject) }
 
       it "should return their existing favorite" do
-        result.should == favorite
+        expect(subject.add_favorite(cake)).to eql(favorite)
       end
     end
 
     context "when they have not liked it before" do
-      let(:result) { sut.add_favorite(cake) }
+      let(:result) { subject.add_favorite(cake) }
 
       it "should return a new favorite" do
-        result.should be_a(Favorite)
+        expect(result).to be_a(Favorite)
       end
 
       it "should specify the user" do
-        result.user.should == sut
+        expect(result.user).to eql(subject)
       end
 
       it "should specify the creation" do
-        result.creation.should == cake
+        expect(result.creation).to eql(cake)
       end
     end
   end
 
   describe "send welcome email" do
     let(:user) { build(:user) }
-    let(:mailer) { double("mailer", welcome_email: true) }
+    let(:mailer) { double("mailer", deliver_later: true) }
 
     before :each do
-      UserMailer.stub(:delay).and_return(mailer)
+      UserMailer.stub(:welcome_email).with(user).and_return(mailer)
       user.send_welcome_email
     end
 
     it "should send the email" do
-      mailer.should have_received(:welcome_email).with(user)
+      expect(mailer).to have_received(:deliver_later)
     end
   end