Skip to content

Commit

Permalink
fix(addons): merged heroku/heroku-cli-addons#93
Browse files Browse the repository at this point in the history
  • Loading branch information
jdx committed Jun 19, 2018
1 parent 2fdefc5 commit 3e84b8b
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion packages/addons-v5/test/commands/addons/upgrade.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,14 @@

let cmd = commands.find((c) => c.topic === 'addons' && c.command === 'upgrade')
let expect = require('unexpected')
let cache = require('../../../lib/resolve').addon.cache

describe('addons:upgrade', () => {
beforeEach(() => cli.mockConsole())
beforeEach(() => {
cli.mockConsole()
cache.clear()
})

afterEach(() => nock.cleanAll())

it('upgrades an add-on', () => {
Expand All @@ -20,6 +26,19 @@ describe('addons:upgrade', () => {
.then(() => api.done())
})

it('upgrades to a contract add-on', () => {
let addon = {name: 'connect-swiftly-123', addon_service: {name: 'heroku-connect'}, app: {name: 'myapp'}, plan: {name: 'free'}}

let api = nock('https://api.heroku.com:443')
.post('/actions/addons/resolve', {'app': 'myapp', 'addon': 'heroku-connect'}).reply(200, [addon])
.patch('/apps/myapp/addons/connect-swiftly-123', {plan: {name: 'heroku-connect:contract'}})
.reply(200, {plan: {price: {cents: 0, contract: true}}, provision_message: 'provision msg'})
return cmd.run({app: 'myapp', args: {addon: 'heroku-connect', plan: 'heroku-connect:contract'}})
.then(() => expect(cli.stdout, 'to equal', 'provision msg\n'))
.then(() => expect(cli.stderr, 'to equal', 'Changing connect-swiftly-123 on myapp from free to heroku-connect:contract... done, contract\n'))
.then(() => api.done())
})

it('upgrades an add-on with only one argument', () => {
let addon = {name: 'postgresql-swiftly-123', addon_service: {name: 'heroku-postgresql'}, app: {name: 'myapp'}, plan: {name: 'premium-0'}}

Expand Down

0 comments on commit 3e84b8b

Please sign in to comment.