From 9a2ef8366eff92a14d471b5139e93488fe168c79 Mon Sep 17 00:00:00 2001 From: David Gil Date: Wed, 12 Aug 2015 14:56:48 +0200 Subject: [PATCH] change background by let since model tests do not know about background --- spec/models/debate_spec.rb | 66 +++++++++++++++++--------------------- spec/models/user_spec.rb | 16 ++++----- 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/spec/models/debate_spec.rb b/spec/models/debate_spec.rb index c79f4990c..187bc0dc1 100644 --- a/spec/models/debate_spec.rb +++ b/spec/models/debate_spec.rb @@ -1,88 +1,80 @@ require 'rails_helper' describe Debate do - - background do - @debate = build(:debate) - end + let(:debate) { build(:debate) } it "should be valid" do - expect(@debate).to be_valid + expect(debate).to be_valid end it "should not be valid without an author" do - @debate.author = nil - expect(@debate).to_not be_valid + debate.author = nil + expect(debate).to_not be_valid end it "should not be valid without a title" do - @debate.title = nil - expect(@debate).to_not be_valid + debate.title = nil + expect(debate).to_not be_valid end describe "#description" do it "should be mandatory" do - @debate.description = nil - expect(@debate).to_not be_valid + debate.description = nil + expect(debate).to_not be_valid end it "should be sanitized" do - @debate.description = "" - @debate.valid? - expect(@debate.description).to eq("alert('danger');") + debate.description = "" + debate.valid? + expect(debate.description).to eq("alert('danger');") end it "should be html_safe" do - @debate.description = "" - expect(@debate.description).to be_html_safe + debate.description = "" + expect(debate.description).to be_html_safe end end it "should sanitize the tag list" do - @debate.tag_list = "user_id=1" - @debate.valid? - expect(@debate.tag_list).to eq(['user_id1']) + debate.tag_list = "user_id=1" + debate.valid? + expect(debate.tag_list).to eq(['user_id1']) end it "should not be valid without accepting terms of service" do - @debate.terms_of_service = nil - expect(@debate).to_not be_valid + debate.terms_of_service = nil + expect(debate).to_not be_valid end describe "#editable?" do - background do - @debate = create(:debate) - end + let(:debate) { create(:debate) } it "should be true if debate has no votes yet" do - expect(@debate.total_votes).to eq(0) - expect(@debate.editable?).to be true + expect(debate.total_votes).to eq(0) + expect(debate.editable?).to be true end it "should be false if debate has votes" do - create(:vote, votable: @debate) - expect(@debate.total_votes).to eq(1) - expect(@debate.editable?).to be false + create(:vote, votable: debate) + expect(debate.total_votes).to eq(1) + expect(debate.editable?).to be false end end describe "#editable_by?" do - background do - @debate = create(:debate) - end + let(:debate) { create(:debate) } it "should be true if user is the author and debate is editable" do - expect(@debate.editable_by?(@debate.author)).to be true + expect(debate.editable_by?(debate.author)).to be true end it "should be false if debate is not editable" do - create(:vote, votable: @debate) - expect(@debate.editable_by?(@debate.author)).to be false + create(:vote, votable: debate) + expect(debate.editable_by?(debate.author)).to be false end it "should be false if user is not the author" do - expect(@debate.editable_by?(create(:user))).to be false - + expect(debate.editable_by?(create(:user))).to be false end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e6c8f617e..36444a9c5 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -3,24 +3,22 @@ require 'rails_helper' describe User do describe "#votes_on_debates" do - background do - @user = create(:user) - end + let(:user) { create(:user) } it "returns {} if no debate" do - expect(@user.votes_on_debates()).to eq({}) - expect(@user.votes_on_debates([])).to eq({}) - expect(@user.votes_on_debates([nil, nil])).to eq({}) + expect(user.votes_on_debates()).to eq({}) + expect(user.votes_on_debates([])).to eq({}) + expect(user.votes_on_debates([nil, nil])).to eq({}) end it "returns a hash of debates ids and votes" do debate1 = create(:debate) debate2 = create(:debate) debate3 = create(:debate) - create(:vote, voter: @user, votable: debate1, vote_flag: true) - create(:vote, voter: @user, votable: debate3, vote_flag: false) + create(:vote, voter: user, votable: debate1, vote_flag: true) + create(:vote, voter: user, votable: debate3, vote_flag: false) - voted = @user.votes_on_debates([debate1.id, debate2.id, debate3.id]) + voted = user.votes_on_debates([debate1.id, debate2.id, debate3.id]) expect(voted[debate1.id]).to eq(true) expect(voted[debate2.id]).to eq(nil)