normalise the message in the response

This commit is contained in:
Rimian Perkins 2017-04-04 13:10:31 +10:00
parent a5e34cd9ab
commit 3fa6130f23
3 changed files with 8 additions and 4 deletions

View File

@ -8,9 +8,7 @@ module DiscourseDonations
def create
if email.nil?
response = {
}
response = {'message' => 'Please enter your email address'}
else
Stripe.api_key = SiteSetting.discourse_donations_secret_key
currency = SiteSetting.discourse_donations_currency
@ -26,6 +24,8 @@ module DiscourseDonations
:description => SiteSetting.discourse_donations_description,
:currency => currency
)
response['message'] = response['outcome']['seller_message']
end
render :json => response

View File

@ -87,7 +87,7 @@ export default Ember.Component.extend({
if(!self.get('paymentSuccess')) {
ajax('/charges', { data: params, method: 'post' }).then(data => {
self.set('result', data.outcome.seller_message);
self.set('result', data.message);
if(!this.get('create_accounts')) {
if(data.status == 'succeeded') { this.setSuccess() };

View File

@ -4,6 +4,7 @@ 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')
@ -11,17 +12,20 @@ module DiscourseDonations
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 '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