From de23caa871457f10f31eba7d3927c1136dd04963 Mon Sep 17 00:00:00 2001 From: Vikhyat Korrapati Date: Wed, 16 Apr 2014 16:04:27 +0530 Subject: [PATCH] Slightly faster badge system specs. (Shaves off ~100ms) --- spec/controllers/user_badges_controller_spec.rb | 14 +++++--------- spec/models/badge.rb | 3 --- spec/models/badge_type.rb | 2 -- spec/models/user_badge.rb | 4 ---- 4 files changed, 5 insertions(+), 18 deletions(-) diff --git a/spec/controllers/user_badges_controller_spec.rb b/spec/controllers/user_badges_controller_spec.rb index 9d3fdbf1f43..311d448f41c 100644 --- a/spec/controllers/user_badges_controller_spec.rb +++ b/spec/controllers/user_badges_controller_spec.rb @@ -5,9 +5,7 @@ describe UserBadgesController do let(:badge) { Fabricate(:badge) } context 'index' do - before do - @user_badge = BadgeGranter.grant(badge, user) - end + let!(:user_badge) { UserBadge.create(badge: badge, user: user, granted_by: Discourse.system_user, granted_at: Time.now) } it 'requires username to be specified' do expect { xhr :get, :index }.to raise_error @@ -62,21 +60,19 @@ describe UserBadgesController do end context 'destroy' do - before do - @user_badge = BadgeGranter.grant(badge, user) - end + let!(:user_badge) { UserBadge.create(badge: badge, user: user, granted_by: Discourse.system_user, granted_at: Time.now) } it 'checks that the user is authorized to revoke a badge' do - xhr :delete, :destroy, id: @user_badge.id + xhr :delete, :destroy, id: user_badge.id response.status.should == 403 end it 'revokes the badge' do log_in :admin StaffActionLogger.any_instance.expects(:log_badge_revoke).once - xhr :delete, :destroy, id: @user_badge.id + xhr :delete, :destroy, id: user_badge.id response.status.should == 200 - UserBadge.where(id: @user_badge.id).first.should be_nil + UserBadge.where(id: user_badge.id).first.should be_nil end end end diff --git a/spec/models/badge.rb b/spec/models/badge.rb index 8416fc854f0..ab8ab50c3fd 100644 --- a/spec/models/badge.rb +++ b/spec/models/badge.rb @@ -3,9 +3,6 @@ require_dependency 'badge' describe Badge do - it { should belong_to :badge_type } - it { should have_many(:user_badges).dependent(:destroy) } - context 'validations' do before(:each) { Fabricate(:badge) } diff --git a/spec/models/badge_type.rb b/spec/models/badge_type.rb index bc716b857ef..9f152f0d8ab 100644 --- a/spec/models/badge_type.rb +++ b/spec/models/badge_type.rb @@ -3,8 +3,6 @@ require_dependency 'badge_type' describe BadgeType do - it { should have_many :badges } - it { should validate_presence_of :name } it { should validate_uniqueness_of :name } it { should validate_presence_of :color_hexcode } diff --git a/spec/models/user_badge.rb b/spec/models/user_badge.rb index 383db76a101..7c233051172 100644 --- a/spec/models/user_badge.rb +++ b/spec/models/user_badge.rb @@ -3,10 +3,6 @@ require_dependency 'user_badge' describe UserBadge do - it { should belong_to :badge } - it { should belong_to :user } - it { should belong_to :granted_by } - context 'validations' do before(:each) { BadgeGranter.grant(Fabricate(:badge), Fabricate(:user)) }