diff options
| author | mo khan <mo@mokhan.ca> | 2015-01-02 10:01:13 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-01-02 10:01:15 -0700 |
| commit | 7cbeda875abb3d14d2a4bbd17c49cda872cfeb32 (patch) | |
| tree | 6068005bf5020f452d48802e7573f4748495cf1e | |
| parent | 5173bb5c57d436435d91291c38b4a9cfb37e6f62 (diff) | |
fix broken build.
| -rw-r--r-- | app/models/user.rb | 4 | ||||
| -rw-r--r-- | spec/models/user_spec.rb | 63 |
2 files changed, 23 insertions, 44 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 6bb6b95b..e82edb1d 100644 --- a/app/models/user.rb +++ b/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 diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 4a415166..9c4a084d 100644 --- a/spec/models/user_spec.rb +++ b/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 |
