diff --git a/ghost/admin/app/controllers/settings/integration.js b/ghost/admin/app/controllers/settings/integration.js index d1221d7543..8c24cc0b29 100644 --- a/ghost/admin/app/controllers/settings/integration.js +++ b/ghost/admin/app/controllers/settings/integration.js @@ -186,7 +186,16 @@ export default class IntegrationController extends Controller { } @task(function* () { - return yield this.integration.save(); + try { + return yield this.integration.save(); + } catch (e) { + if (e === undefined) { + // validation error + return false; + } + + throw e; + } }) saveTask; diff --git a/ghost/admin/app/templates/settings/integration.hbs b/ghost/admin/app/templates/settings/integration.hbs index 17402937fb..d719a7b29d 100644 --- a/ghost/admin/app/templates/settings/integration.hbs +++ b/ghost/admin/app/templates/settings/integration.hbs @@ -9,7 +9,7 @@ {{this.integration.name}}
- +
diff --git a/ghost/admin/tests/acceptance/settings/integrations-test.js b/ghost/admin/tests/acceptance/settings/integrations-test.js index 5ecaf9ff57..a5ca970148 100644 --- a/ghost/admin/tests/acceptance/settings/integrations-test.js +++ b/ghost/admin/tests/acceptance/settings/integrations-test.js @@ -278,7 +278,7 @@ describe('Acceptance: Settings - Integrations - Custom', function () { ).to.equal('/settings/integrations/1'); }); - it.skip('can manage an integration', async function () { + it('can manage an integration', async function () { this.server.create('integration'); await visit('/settings/integrations/1');