remove extra key/values from user create job

This commit is contained in:
Rimian Perkins 2017-05-11 12:01:57 +10:00
parent 344abb6418
commit 183d15e539
2 changed files with 40 additions and 31 deletions

View File

@ -2,7 +2,7 @@
module Jobs
class DonationUser < ::Jobs::Base
def execute(args)
user = User.create!(args)
user = User.create!(args.slice(:username, :password, :name, :email))
rewards = DiscourseDonations::Rewards.new(user)
args[:rewards].to_a.each do |reward|
rewards.grant_badge(reward[:name]) if reward[:type] == 'badge'

View File

@ -17,12 +17,20 @@ RSpec.describe Jobs::DonationUser, type: :job do
end
describe 'rewards' do
describe 'create user with rewards' do
it 'creates a User object without rewards' do
User.expects(:create!).with(args)
subject.execute(args.merge(rewards: [], otherthing: nil))
end
end
describe 'User rewards' do
let(:user) { Fabricate(:user) }
let(:badge) { Fabricate(:badge) }
let(:grp) { Fabricate(:group) }
before do
User.expects(:create!).returns(user)
User.stubs(:create!).returns(user)
end
it 'grants the user a badge' do
@ -54,3 +62,4 @@ RSpec.describe Jobs::DonationUser, type: :job do
end
end
end
end