2017-04-04 13:44:13 +10:00

39 lines
1.3 KiB
Ruby

require 'rails_helper'
require_relative '../../support/dd_helper'
module DiscourseDonations
RSpec.describe ChargesController, type: :controller do
routes { DiscourseDonations::Engine.routes }
let(:body) { JSON.parse(response.body) }
before do
SiteSetting.stubs(:discourse_donations_secret_key).returns('secret-key-yo')
end
it 'responds ok for anonymous users' do
post :create, { email: 'foobar@example.com' }
expect(body['message']).to eq(body['outcome']['seller_message'])
expect(response).to have_http_status(200)
end
it 'responds ok when the email is empty' do
post :create, { }
expect(body['message']).to eq('Please enter your email address')
expect(response).to have_http_status(200)
end
it 'expects a username if accounts are being created' do
post :create, { email: 'zipitydoodah@example.com', create_account: 'true' }
expect(body['message']).to eq('Please enter a username')
expect(response).to have_http_status(200)
end
it 'responds ok for logged in user' do
current_user = log_in(:coding_horror)
post :create
expect(body['message']).to eq(body['outcome']['seller_message'])
expect(response).to have_http_status(200)
end
end
end