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
def reward_user?(payment)
payment.present? && payment.successful? && current_user.present?
payment.present? && payment.successful?
end
def group_name

View File

@ -36,25 +36,43 @@ module DiscourseDonations
before do
SiteSetting.stubs(:discourse_donations_reward_group_name).returns(group_name)
SiteSetting.stubs(:discourse_donations_reward_badge_name).returns(badge_name)
Fabricate(:group, name: SiteSetting.discourse_donations_reward_group_name)
Fabricate(:badge, name: SiteSetting.discourse_donations_reward_badge_name)
log_in :coding_horror
Fabricate(:group, name: group_name)
Fabricate(:badge, name: badge_name)
end
it 'has no rewards' do
stripe.expects(:create).returns({ outcome: { seller_message: 'bummer' } })
post :create
expect(response_rewards).to be_empty
shared_examples 'it has no rewards' do
it 'rewards are empty' do
stripe.expects(:create).returns({ outcome: { seller_message: 'bummer' } })
post :create
expect(response_rewards).to be_empty
end
end
it 'awards a group' do
post :create
expect(response_rewards).to include({'type' => 'group', 'name' => group_name})
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
it 'awards a badge' do
post :create
expect(response_rewards).to include({'type' => 'badge', 'name' => badge_name})
describe 'logged in user' do
before do
log_in :coding_horror
end
it_behaves_like 'it has no rewards'
it 'awards a group' do
post :create
expect(response_rewards).to include({'type' => 'group', 'name' => group_name})
end
it 'awards a badge' do
post :create
expect(response_rewards).to include({'type' => 'badge', 'name' => badge_name})
end
end
end
end