2017-02-16 16:29:42 +11:00
|
|
|
require 'rails_helper'
|
2017-03-20 12:08:30 +11:00
|
|
|
require_relative '../../support/dd_helper'
|
2017-02-16 16:29:42 +11:00
|
|
|
|
2017-02-24 13:23:11 +11:00
|
|
|
module DiscourseDonations
|
2017-02-16 16:29:42 +11:00
|
|
|
RSpec.describe ChargesController, type: :controller do
|
2017-02-24 13:23:11 +11:00
|
|
|
routes { DiscourseDonations::Engine.routes }
|
2017-04-04 13:10:31 +10:00
|
|
|
let(:body) { JSON.parse(response.body) }
|
2017-03-20 12:08:30 +11:00
|
|
|
|
|
|
|
before do
|
|
|
|
SiteSetting.stubs(:discourse_donations_secret_key).returns('secret-key-yo')
|
|
|
|
end
|
|
|
|
|
2017-03-22 13:56:45 +11:00
|
|
|
it 'responds ok for anonymous users' do
|
|
|
|
post :create, { email: 'foobar@example.com' }
|
2017-04-04 13:10:31 +10:00
|
|
|
expect(body['message']).to eq(body['outcome']['seller_message'])
|
2017-03-22 13:56:45 +11:00
|
|
|
expect(response).to have_http_status(200)
|
|
|
|
end
|
2017-03-21 11:52:48 +11:00
|
|
|
|
2017-04-04 11:18:35 +10:00
|
|
|
it 'responds ok when the email is empty' do
|
|
|
|
post :create, { }
|
2017-04-04 13:10:31 +10:00
|
|
|
expect(body['message']).to eq('Please enter your email address')
|
2017-04-04 11:18:35 +10:00
|
|
|
expect(response).to have_http_status(200)
|
|
|
|
end
|
|
|
|
|
2017-03-22 13:56:45 +11:00
|
|
|
it 'responds ok for logged in user' do
|
|
|
|
current_user = log_in(:coding_horror)
|
|
|
|
post :create
|
2017-04-04 13:10:31 +10:00
|
|
|
expect(body['message']).to eq(body['outcome']['seller_message'])
|
2017-03-22 13:56:45 +11:00
|
|
|
expect(response).to have_http_status(200)
|
2017-02-16 16:29:42 +11:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|