overleaf/services/web/test/acceptance/coffee/helpers/MockRecurlyApi.coffee
James Allen 0f1c732d15 Merge pull request #1130 from sharelatex/ja-subscription-dashboard
Refactor subscription dashboard

GitOrigin-RevId: 3573822b8b48c7181c661b2c253d7713f4a4328c
2018-11-19 16:01:59 +00:00

46 lines
1.4 KiB
CoffeeScript

express = require("express")
app = express()
bodyParser = require('body-parser')
app.use(bodyParser.json())
module.exports = MockRecurlyApi =
subscriptions: {}
accounts: {}
run: () ->
app.get '/subscriptions/:id', (req, res, next) =>
subscription = @subscriptions[req.params.id]
if !subscription?
res.status(404).end()
else
res.send """
<subscription>
<plan_code>#{subscription.plan_code}</plan_code>
<currency>#{subscription.currency}</currency>
<state>#{subscription.state}</state>
<tax_in_cents type="integer">#{subscription.tax_in_cents}</tax_in_cents>
<tax_rate type="float">#{subscription.tax_rate}</tax_rate>
<current_period_ends_at type="datetime">#{subscription.current_period_ends_at}</current_period_ends_at>
<unit_amount_in_cents type="integer">#{subscription.unit_amount_in_cents}</unit_amount_in_cents>
<account href="accounts/#{subscription.account_id}" />
<trial_ends_at type="datetime">#{subscription.trial_ends_at}</trial_ends_at>
</subscription>
"""
app.get '/accounts/:id', (req, res, next) =>
account = @accounts[req.params.id]
if !account?
res.status(404).end()
else
res.send """
<account>
<hosted_login_token>#{account.hosted_login_token}</hosted_login_token>
</account>
"""
app.listen 6034, (error) ->
throw error if error?
MockRecurlyApi.run()