From e1778d6bd82d3abd1d44dde9e17f665bb4397a3b Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Wed, 15 Feb 2017 14:10:52 +1100 Subject: [PATCH] sample ajax request --- .../discourse_payments/payments_controller.rb | 24 +++++++++---------- .../controllers/user-payments.js.es6 | 9 ++++++- .../discourse/templates/user/payments.hbs | 6 ++--- .../acceptance/discourse-payments-test.es6 | 22 ++++++++++++++--- 4 files changed, 42 insertions(+), 19 deletions(-) diff --git a/app/controllers/discourse_payments/payments_controller.rb b/app/controllers/discourse_payments/payments_controller.rb index 1dfba44..1039896 100644 --- a/app/controllers/discourse_payments/payments_controller.rb +++ b/app/controllers/discourse_payments/payments_controller.rb @@ -9,25 +9,25 @@ module DiscoursePayments end def create - badge = Badge.find_by_name('Consumer Defender') + # badge = Badge.find_by_name('Consumer Defender') + # + # if badge.nil? + # head 422 and return + # end - if badge.nil? - head 422 and return - end - - customer = Stripe::Customer.create( - :email => params[:stripeEmail], - :source => params[:stripeToken] - ) + # customer = Stripe::Customer.create( + # :email => params[:stripeEmail], + # :source => params[:stripeToken] + # ) charge = Stripe::Charge.create( - :customer => customer.id, - :amount => 1000, + :customer => 'x', + :amount => 1001, :description => 'Consumer Defender', :currency => 'aud' ) - BadgeGranter.grant(badge, current_user) + # BadgeGranter.grant(badge, current_user) render :json => { status: 'OK' } end diff --git a/assets/javascripts/discourse/controllers/user-payments.js.es6 b/assets/javascripts/discourse/controllers/user-payments.js.es6 index 2c83645..f3955c8 100644 --- a/assets/javascripts/discourse/controllers/user-payments.js.es6 +++ b/assets/javascripts/discourse/controllers/user-payments.js.es6 @@ -1,10 +1,17 @@ +import { ajax } from 'discourse/lib/ajax'; + export default Ember.Controller.extend({ user: Ember.inject.controller(), username: Ember.computed.alias('user.model.username_lower'), email: Ember.computed.alias('user.model.email'), actions: { - choiceTest: function() { + makePayment: function() { + + ajax('/payments', { method: 'POST' }).then(() => { + console.log(this); + }); + this.set('saved', true); } } diff --git a/assets/javascripts/discourse/templates/user/payments.hbs b/assets/javascripts/discourse/templates/user/payments.hbs index 05ab7e8..8748a28 100644 --- a/assets/javascripts/discourse/templates/user/payments.hbs +++ b/assets/javascripts/discourse/templates/user/payments.hbs @@ -2,10 +2,10 @@ {{username}} - {{#if saved}} -
Response happens
+
Response happens
{{/if}} diff --git a/test/javascripts/acceptance/discourse-payments-test.es6 b/test/javascripts/acceptance/discourse-payments-test.es6 index 2bc6a93..ecf4572 100644 --- a/test/javascripts/acceptance/discourse-payments-test.es6 +++ b/test/javascripts/acceptance/discourse-payments-test.es6 @@ -1,5 +1,21 @@ import { acceptance } from 'helpers/qunit-helpers'; -acceptance('Discourse Payments', { loggedIn: true }); +acceptance('Discourse Payments', { + loggedIn: true, + setup() { + const response = (object) => { + return [ + 200, + {"Content-Type": "application/json"}, + object + ]; + }; + + server.post('/payments', () => { + return response({ }); + }); + } + } +); test('Payments Link Exists', () => { visit('/users/eviltrout'); @@ -21,9 +37,9 @@ test('Payments Page Exists', () => { test('Payments Page response happens', () => { visit('/users/eviltrout/payments'); - click('.choice-btn'); + click('.payment-btn'); andThen(() => { - ok(exists('.choice-response'), 'Response happens'); + ok(exists('.payment-response'), 'Response happens'); }); });