2017-04-20 20:26:43 -04:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
module DiscourseDonations
|
|
|
|
RSpec.describe DiscourseDonations::Rewards do
|
2017-04-20 22:08:52 -04:00
|
|
|
let(:grp) { Fabricate(:group) }
|
2017-04-20 20:26:43 -04:00
|
|
|
let(:user) { Fabricate(:user) }
|
|
|
|
subject { described_class.new(user) }
|
|
|
|
|
|
|
|
it 'adds the user to a group' do
|
|
|
|
Group.expects(:find_by_name).with(grp.name).returns(grp)
|
|
|
|
grp.expects(:add).with(user)
|
2017-04-23 21:44:55 -04:00
|
|
|
subject.add_to_group(grp.name)
|
2017-04-21 00:26:53 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'does not add the user to a group' do
|
|
|
|
Group.expects(:find_by_name).with(grp.name).returns(nil)
|
2017-04-23 21:44:55 -04:00
|
|
|
grp.expects(:add).never
|
|
|
|
expect(subject.add_to_group(grp.name)).to be_falsy
|
2017-04-20 20:26:43 -04:00
|
|
|
end
|
|
|
|
|
2017-04-23 21:44:55 -04:00
|
|
|
it 'grants the user a badge' do
|
|
|
|
badge = Fabricate(:badge)
|
|
|
|
BadgeGranter.expects(:grant).with(badge, user)
|
|
|
|
subject.grant_badge(badge.name)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'does not grant the user a badge' do
|
|
|
|
BadgeGranter.expects(:grant).never
|
|
|
|
expect(subject.grant_badge('does not exist')).to be_falsy
|
|
|
|
end
|
2017-04-20 20:26:43 -04:00
|
|
|
end
|
|
|
|
end
|