initial tests for new user account

This commit is contained in:
Rimian Perkins 2017-04-27 11:58:52 +10:00
parent a5fa347d6b
commit cfe04fd4e3
2 changed files with 32 additions and 14 deletions

View File

@ -32,7 +32,7 @@ module DiscourseDonations
private private
def reward_user?(payment) def reward_user?(payment)
payment.present? && payment.successful? && current_user.present? payment.present? && payment.successful?
end end
def group_name def group_name

View File

@ -36,16 +36,33 @@ module DiscourseDonations
before do before do
SiteSetting.stubs(:discourse_donations_reward_group_name).returns(group_name) SiteSetting.stubs(:discourse_donations_reward_group_name).returns(group_name)
SiteSetting.stubs(:discourse_donations_reward_badge_name).returns(badge_name) SiteSetting.stubs(:discourse_donations_reward_badge_name).returns(badge_name)
Fabricate(:group, name: SiteSetting.discourse_donations_reward_group_name) Fabricate(:group, name: group_name)
Fabricate(:badge, name: SiteSetting.discourse_donations_reward_badge_name) Fabricate(:badge, name: badge_name)
log_in :coding_horror
end end
it 'has no rewards' do shared_examples 'it has no rewards' do
it 'rewards are empty' do
stripe.expects(:create).returns({ outcome: { seller_message: 'bummer' } }) stripe.expects(:create).returns({ outcome: { seller_message: 'bummer' } })
post :create post :create
expect(response_rewards).to be_empty expect(response_rewards).to be_empty
end end
end
describe 'new user' do
let(:params) { { email: 'new-user@example.com' } }
it_behaves_like 'it has no rewards'
it 'awards a group'
it 'awards a badge'
end
describe 'logged in user' do
before do
log_in :coding_horror
end
it_behaves_like 'it has no rewards'
it 'awards a group' do it 'awards a group' do
post :create post :create
@ -59,3 +76,4 @@ module DiscourseDonations
end end
end end
end end
end