test _paypal.checAccountExists.

This commit is contained in:
Shane Kilkelly 2016-06-28 10:17:06 +01:00
parent 6bdfedc1b0
commit e194de50cf

View file

@ -655,3 +655,103 @@ describe "RecurlyWrapper", ->
@setAddress.callCount.should.equal 0
@createSubscription.callCount.should.equal 0
done()
describe '_paypal.checkAccountExists', ->
beforeEach ->
@apiRequest = sinon.stub(@RecurlyWrapper, 'apiRequest')
@_parseAccountXml = sinon.spy(@RecurlyWrapper, '_parseAccountXml')
@cache =
user: @user = {_id: 'some_id'}
recurly_token_id: @recurly_token_id = "some_token"
subscriptionDetails: @subscriptionDetails =
currencyCode: "EUR"
plan_code: "some_plan_code"
coupon_code: ""
isPaypal: true
address:
address1: "addr_one"
address2: "addr_two"
country: "some_country"
state: "some_state"
zip: "some_zip"
@call = (callback) =>
@RecurlyWrapper._paypal.checkAccountExists @cache, callback
afterEach ->
@apiRequest.restore()
@_parseAccountXml.restore()
describe 'when the account exists', ->
beforeEach ->
resultXml = '<account><account_code>abc</account_code></account>'
@apiRequest.callsArgWith(1, null, {statusCode: 200}, resultXml)
it 'should not produce an error', (done) ->
@call (err, result) =>
expect(err).to.not.be.instanceof Error
done()
it 'should call apiRequest', (done) ->
@call (err, result) =>
@apiRequest.callCount.should.equal 1
done()
it 'should call _parseAccountXml', (done) ->
@call (err, result) =>
@RecurlyWrapper._parseAccountXml.callCount.should.equal 1
done()
it 'should add the account to the cumulative result', (done) ->
@call (err, result) =>
expect(result.account).to.not.equal null
expect(result.account).to.not.equal undefined
expect(result.account).to.deep.equal {
account_code: 'abc'
}
done()
describe 'when the account does not exist', ->
beforeEach ->
@apiRequest.callsArgWith(1, new Error('not found'), {statusCode: 404}, '')
it 'should not produce an error', (done) ->
@call (err, result) =>
expect(err).to.not.be.instanceof Error
done()
it 'should call apiRequest', (done) ->
@call (err, result) =>
@apiRequest.callCount.should.equal 1
done()
it 'should not call _parseAccountXml', (done) ->
@call (err, result) =>
@RecurlyWrapper._parseAccountXml.callCount.should.equal 0
done()
it 'should not add the account to result', (done) ->
@call (err, result) =>
expect(result.account).to.equal undefined
done()
# describe '_paypal.createAccount', ->
# beforeEach ->
# describe '_paypal.createBillingInfo', ->
# beforeEach ->
# describe '_paypal.setAddress', ->
# beforeEach ->
# describe '_paypal.createSubscription', ->
# beforeEach ->