diff --git a/app/controllers/settings/apps/amp.js b/app/controllers/settings/integrations/amp.js similarity index 100% rename from app/controllers/settings/apps/amp.js rename to app/controllers/settings/integrations/amp.js diff --git a/app/controllers/settings/apps/index.js b/app/controllers/settings/integrations/index.js similarity index 100% rename from app/controllers/settings/apps/index.js rename to app/controllers/settings/integrations/index.js diff --git a/app/controllers/settings/apps/slack.js b/app/controllers/settings/integrations/slack.js similarity index 100% rename from app/controllers/settings/apps/slack.js rename to app/controllers/settings/integrations/slack.js diff --git a/app/controllers/settings/apps/unsplash.js b/app/controllers/settings/integrations/unsplash.js similarity index 100% rename from app/controllers/settings/apps/unsplash.js rename to app/controllers/settings/integrations/unsplash.js diff --git a/app/controllers/settings/apps/zapier.js b/app/controllers/settings/integrations/zapier.js similarity index 100% rename from app/controllers/settings/apps/zapier.js rename to app/controllers/settings/integrations/zapier.js diff --git a/app/router.js b/app/router.js index 898e9bdea..151793b80 100644 --- a/app/router.js +++ b/app/router.js @@ -52,7 +52,7 @@ Router.map(function () { this.route('settings.design', {path: '/settings/design'}, function () { this.route('uploadtheme'); }); - this.route('settings.apps', {path: '/settings/apps'}, function () { + this.route('settings.integrations', {path: '/settings/integrations'}, function () { this.route('slack', {path: 'slack'}); this.route('amp', {path: 'amp'}); this.route('unsplash', {path: 'unsplash'}); diff --git a/app/routes/settings/apps.js b/app/routes/settings/integrations.js similarity index 89% rename from app/routes/settings/apps.js rename to app/routes/settings/integrations.js index ae199c253..f4286f831 100644 --- a/app/routes/settings/apps.js +++ b/app/routes/settings/integrations.js @@ -6,8 +6,8 @@ import {inject as service} from '@ember/service'; export default AuthenticatedRoute.extend(styleBody, CurrentUserSettings, { settings: service(), - titleToken: 'Settings - Apps', - classNames: ['settings-view-apps'], + titleToken: 'Settings - Integrations', + classNames: ['settings-view-integrations'], beforeModel() { this._super(...arguments); diff --git a/app/routes/settings/apps/amp.js b/app/routes/settings/integrations/amp.js similarity index 93% rename from app/routes/settings/apps/amp.js rename to app/routes/settings/integrations/amp.js index 7d800aee7..b2978d2a5 100644 --- a/app/routes/settings/apps/amp.js +++ b/app/routes/settings/integrations/amp.js @@ -4,7 +4,7 @@ import styleBody from 'ghost-admin/mixins/style-body'; export default AuthenticatedRoute.extend(styleBody, { titleToken: 'AMP', - classNames: ['settings-view-apps-amp'], + classNames: ['settings-view-integrations-amp'], actions: { save() { diff --git a/app/routes/settings/apps/slack.js b/app/routes/settings/integrations/slack.js similarity index 94% rename from app/routes/settings/apps/slack.js rename to app/routes/settings/integrations/slack.js index 63e94cc8f..39bf627ed 100644 --- a/app/routes/settings/apps/slack.js +++ b/app/routes/settings/integrations/slack.js @@ -7,7 +7,7 @@ export default AuthenticatedRoute.extend(styleBody, { titleToken: 'Slack', - classNames: ['settings-view-apps-slack'], + classNames: ['settings-view-integrations-slack'], afterModel() { return this.get('settings').reload(); diff --git a/app/routes/settings/apps/unsplash.js b/app/routes/settings/integrations/unsplash.js similarity index 96% rename from app/routes/settings/apps/unsplash.js rename to app/routes/settings/integrations/unsplash.js index 81750c94a..d215c972b 100644 --- a/app/routes/settings/apps/unsplash.js +++ b/app/routes/settings/integrations/unsplash.js @@ -8,7 +8,7 @@ export default AuthenticatedRoute.extend(styleBody, { settings: service(), titleToken: 'Unsplash', - classNames: ['settings-view-apps-unsplash'], + classNames: ['settings-view-integrations-unsplash'], beforeModel() { let settings = this.get('settings'); diff --git a/app/routes/settings/apps/zapier.js b/app/routes/settings/integrations/zapier.js similarity index 100% rename from app/routes/settings/apps/zapier.js rename to app/routes/settings/integrations/zapier.js diff --git a/app/styles/layouts/packages.css b/app/styles/layouts/packages.css index 6775fbfb8..0dc2c16f0 100644 --- a/app/styles/layouts/packages.css +++ b/app/styles/layouts/packages.css @@ -1,4 +1,4 @@ -/* Packages - Themes / Apps +/* Packages - Themes / Integrations /* ---------------------------------------------------------- */ .package-filter { diff --git a/app/templates/components/gh-nav-menu.hbs b/app/templates/components/gh-nav-menu.hbs index c729955fe..13ba0f015 100644 --- a/app/templates/components/gh-nav-menu.hbs +++ b/app/templates/components/gh-nav-menu.hbs @@ -64,7 +64,7 @@
  • {{#link-to "settings.design" classNames="gh-nav-settings-navigation"}}{{svg-jar "compass"}}Design{{/link-to}}
  • {{#link-to "settings.tags" classNames="gh-nav-settings-tags"}}{{svg-jar "tag"}}Tags{{/link-to}}
  • {{#link-to "settings.code-injection" classNames="gh-nav-settings-code-injection"}}{{svg-jar "brackets"}}Code injection{{/link-to}}
  • -
  • {{#link-to "settings.apps" classNames="gh-nav-settings-apps"}}{{svg-jar "box"}}Apps{{/link-to}}
  • +
  • {{#link-to "settings.integrations" classNames="gh-nav-settings-apps"}}{{svg-jar "box"}}Integrations{{/link-to}}
  • {{#link-to "settings.labs" classNames="gh-nav-settings-labs"}}{{svg-jar "wrench-double"}}Labs{{/link-to}}
  • {{/if}} diff --git a/app/templates/settings/apps-loading.hbs b/app/templates/settings/integrations-loading.hbs similarity index 100% rename from app/templates/settings/apps-loading.hbs rename to app/templates/settings/integrations-loading.hbs diff --git a/app/templates/settings/apps.hbs b/app/templates/settings/integrations.hbs similarity index 100% rename from app/templates/settings/apps.hbs rename to app/templates/settings/integrations.hbs diff --git a/app/templates/settings/apps/amp.hbs b/app/templates/settings/integrations/amp.hbs similarity index 96% rename from app/templates/settings/apps/amp.hbs rename to app/templates/settings/integrations/amp.hbs index 357da7c99..8aa4febb7 100644 --- a/app/templates/settings/apps/amp.hbs +++ b/app/templates/settings/integrations/amp.hbs @@ -1,7 +1,7 @@

    - {{#link-to "settings.apps.index"}}Apps{{/link-to}} + {{#link-to "settings.integrations.index"}}Integrations{{/link-to}} {{svg-jar "arrow-right"}} AMP

    diff --git a/app/templates/settings/apps/index.hbs b/app/templates/settings/integrations/index.hbs similarity index 90% rename from app/templates/settings/apps/index.hbs rename to app/templates/settings/integrations/index.hbs index 3a45ff9ff..c490fee23 100644 --- a/app/templates/settings/apps/index.hbs +++ b/app/templates/settings/integrations/index.hbs @@ -1,13 +1,13 @@
    -

    Apps

    +

    Integrations

    - Available integrations + Built-in integrations
    - {{#link-to "settings.apps.slack" data-test-link="slack"}} + {{#link-to "settings.integrations.slack" data-test-link="slack"}}
    @@ -31,7 +31,7 @@
    - {{#link-to "settings.apps.amp" data-test-link="amp"}} + {{#link-to "settings.integrations.amp" data-test-link="amp"}}
    @@ -55,7 +55,7 @@
    - {{#link-to "settings.apps.unsplash" data-test-link="unsplash"}} + {{#link-to "settings.integrations.unsplash" data-test-link="unsplash"}}
    @@ -79,7 +79,7 @@
    - {{#link-to "settings.apps.zapier" data-test-link="zapier"}} + {{#link-to "settings.integrations.zapier" data-test-link="zapier"}}
    @@ -98,6 +98,5 @@ {{/link-to}}
    -

    (More coming soon!)

    diff --git a/app/templates/settings/apps/slack.hbs b/app/templates/settings/integrations/slack.hbs similarity index 97% rename from app/templates/settings/apps/slack.hbs rename to app/templates/settings/integrations/slack.hbs index 9378a1a2f..c4aba9dc3 100644 --- a/app/templates/settings/apps/slack.hbs +++ b/app/templates/settings/integrations/slack.hbs @@ -1,7 +1,7 @@

    - {{#link-to "settings.apps.index"}}Apps{{/link-to}} + {{#link-to "settings.integrations.index"}}Integrations{{/link-to}} {{svg-jar "arrow-right"}} Slack

    diff --git a/app/templates/settings/apps/unsplash.hbs b/app/templates/settings/integrations/unsplash.hbs similarity index 96% rename from app/templates/settings/apps/unsplash.hbs rename to app/templates/settings/integrations/unsplash.hbs index 2569d14c8..f94a4b9ef 100644 --- a/app/templates/settings/apps/unsplash.hbs +++ b/app/templates/settings/integrations/unsplash.hbs @@ -1,7 +1,7 @@

    - {{#link-to "settings.apps.index"}}Apps{{/link-to}} + {{#link-to "settings.integrations.index"}}Integrations{{/link-to}} {{svg-jar "arrow-right"}} Unsplash

    diff --git a/app/templates/settings/apps/zapier.hbs b/app/templates/settings/integrations/zapier.hbs similarity index 94% rename from app/templates/settings/apps/zapier.hbs rename to app/templates/settings/integrations/zapier.hbs index 9419b0319..a4823031d 100644 --- a/app/templates/settings/apps/zapier.hbs +++ b/app/templates/settings/integrations/zapier.hbs @@ -1,7 +1,7 @@

    - {{#link-to "settings.apps.index"}}Apps{{/link-to}} + {{#link-to "settings.integrations.index"}}Integrations{{/link-to}} {{svg-jar "arrow-right"}} Zapier

    diff --git a/mirage/config.js b/mirage/config.js index de58d7305..9005a9bbf 100644 --- a/mirage/config.js +++ b/mirage/config.js @@ -56,7 +56,7 @@ export function testConfig() { this.get('/notifications/'); - /* Apps - Slack Test Notification --------------------------------------- */ + /* Integrations - Slack Test Notification ------------------------------- */ this.post('/slack/test', function () { return {}; diff --git a/tests/acceptance/settings/amp-test.js b/tests/acceptance/settings/amp-test.js index a51eb6d1d..631627071 100644 --- a/tests/acceptance/settings/amp-test.js +++ b/tests/acceptance/settings/amp-test.js @@ -10,7 +10,7 @@ import { import {authenticateSession, invalidateSession} from 'ghost-admin/tests/helpers/ember-simple-auth'; import {expect} from 'chai'; -describe('Acceptance: Settings - Apps - AMP', function () { +describe('Acceptance: Settings - Integrations - AMP', function () { let application; beforeEach(function () { @@ -23,7 +23,7 @@ describe('Acceptance: Settings - Apps - AMP', function () { it('redirects to signin when not authenticated', async function () { invalidateSession(application); - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); expect(currentURL(), 'currentURL').to.equal('/signin'); }); @@ -33,7 +33,7 @@ describe('Acceptance: Settings - Apps - AMP', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -43,7 +43,7 @@ describe('Acceptance: Settings - Apps - AMP', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -53,7 +53,7 @@ describe('Acceptance: Settings - Apps - AMP', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); expect(currentURL(), 'currentURL').to.equal('/team'); }); @@ -67,10 +67,10 @@ describe('Acceptance: Settings - Apps - AMP', function () { }); it('it enables or disables AMP properly and saves it', async function () { - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/amp'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/amp'); // AMP is enabled by default expect(find('[data-test-amp-checkbox]').prop('checked'), 'AMP checkbox').to.be.true; @@ -104,10 +104,10 @@ describe('Acceptance: Settings - Apps - AMP', function () { }); it('warns when leaving without saving', async function () { - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/amp'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/amp'); // AMP is enabled by default expect(find('[data-test-amp-checkbox]').prop('checked'), 'AMP checkbox').to.be.true; @@ -125,9 +125,9 @@ describe('Acceptance: Settings - Apps - AMP', function () { expect(currentURL(), 'currentURL').to.equal('/team'); - await visit('/settings/apps/amp'); + await visit('/settings/integrations/amp'); - expect(currentURL(), 'currentURL').to.equal('/settings/apps/amp'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/amp'); // settings were not saved expect(find('[data-test-amp-checkbox]').prop('checked'), 'AMP checkbox').to.be.true; diff --git a/tests/acceptance/settings/apps-test.js b/tests/acceptance/settings/integrations-test.js similarity index 85% rename from tests/acceptance/settings/apps-test.js rename to tests/acceptance/settings/integrations-test.js index be2cc5114..f6b84c56e 100644 --- a/tests/acceptance/settings/apps-test.js +++ b/tests/acceptance/settings/integrations-test.js @@ -9,7 +9,7 @@ import { import {authenticateSession, invalidateSession} from 'ghost-admin/tests/helpers/ember-simple-auth'; import {expect} from 'chai'; -describe('Acceptance: Settings - Apps', function () { +describe('Acceptance: Settings - Integrations', function () { let application; beforeEach(function () { @@ -22,7 +22,7 @@ describe('Acceptance: Settings - Apps', function () { it('redirects to signin when not authenticated', async function () { invalidateSession(application); - await visit('/settings/apps'); + await visit('/settings/integrations'); expect(currentURL(), 'currentURL').to.equal('/signin'); }); @@ -32,7 +32,7 @@ describe('Acceptance: Settings - Apps', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps'); + await visit('/settings/integrations'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -42,7 +42,7 @@ describe('Acceptance: Settings - Apps', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps'); + await visit('/settings/integrations'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -52,7 +52,7 @@ describe('Acceptance: Settings - Apps', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps'); + await visit('/settings/integrations'); expect(currentURL(), 'currentURL').to.equal('/team'); }); @@ -66,7 +66,7 @@ describe('Acceptance: Settings - Apps', function () { }); it('renders correctly', async function () { - await visit('/settings/apps'); + await visit('/settings/integrations'); // slack is not configured in the fixtures expect( @@ -82,39 +82,39 @@ describe('Acceptance: Settings - Apps', function () { }); it('it redirects to Slack when clicking on the grid', async function () { - await visit('/settings/apps'); + await visit('/settings/integrations'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations'); await click('[data-test-link="slack"]'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/slack'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/slack'); }); it('it redirects to AMP when clicking on the grid', async function () { - await visit('/settings/apps'); + await visit('/settings/integrations'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations'); await click('[data-test-link="amp"]'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/amp'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/amp'); }); it('it redirects to Unsplash when clicking on the grid', async function () { - await visit('/settings/apps'); + await visit('/settings/integrations'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations'); await click('[data-test-link="unsplash"]'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/unsplash'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/unsplash'); }); }); }); diff --git a/tests/acceptance/settings/slack-test.js b/tests/acceptance/settings/slack-test.js index 61f44d6f1..dcf4bd980 100644 --- a/tests/acceptance/settings/slack-test.js +++ b/tests/acceptance/settings/slack-test.js @@ -6,7 +6,7 @@ import {afterEach, beforeEach, describe, it} from 'mocha'; import {authenticateSession, invalidateSession} from 'ghost-admin/tests/helpers/ember-simple-auth'; import {expect} from 'chai'; -describe('Acceptance: Settings - Apps - Slack', function () { +describe('Acceptance: Settings - Integrations - Slack', function () { let application; beforeEach(function () { @@ -19,7 +19,7 @@ describe('Acceptance: Settings - Apps - Slack', function () { it('redirects to signin when not authenticated', async function () { invalidateSession(application); - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); expect(currentURL(), 'currentURL').to.equal('/signin'); }); @@ -29,7 +29,7 @@ describe('Acceptance: Settings - Apps - Slack', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -39,7 +39,7 @@ describe('Acceptance: Settings - Apps - Slack', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -49,7 +49,7 @@ describe('Acceptance: Settings - Apps - Slack', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); expect(currentURL(), 'currentURL').to.equal('/team'); }); @@ -63,10 +63,10 @@ describe('Acceptance: Settings - Apps - Slack', function () { }); it('it validates and saves a slack url properly', async function () { - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/slack'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/slack'); await fillIn('[data-test-slack-url-input]', 'notacorrecturl'); await click('[data-test-save-button]'); @@ -118,10 +118,10 @@ describe('Acceptance: Settings - Apps - Slack', function () { }); it('warns when leaving without saving', async function () { - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/slack'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/slack'); await fillIn('[data-test-slack-url-input]', 'https://hooks.slack.com/services/1275958430'); await triggerEvent('[data-test-slack-url-input]', 'blur'); @@ -135,9 +135,9 @@ describe('Acceptance: Settings - Apps - Slack', function () { expect(currentURL(), 'currentURL').to.equal('/settings/design'); - await visit('/settings/apps/slack'); + await visit('/settings/integrations/slack'); - expect(currentURL(), 'currentURL').to.equal('/settings/apps/slack'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/slack'); // settings were not saved expect( diff --git a/tests/acceptance/settings/unsplash-test.js b/tests/acceptance/settings/unsplash-test.js index 049f92f99..453821f43 100644 --- a/tests/acceptance/settings/unsplash-test.js +++ b/tests/acceptance/settings/unsplash-test.js @@ -5,7 +5,7 @@ import {afterEach, beforeEach, describe, it} from 'mocha'; import {authenticateSession, invalidateSession} from 'ghost-admin/tests/helpers/ember-simple-auth'; import {expect} from 'chai'; -describe('Acceptance: Settings - Apps - Unsplash', function () { +describe('Acceptance: Settings - Integrations - Unsplash', function () { let application; beforeEach(function () { @@ -18,7 +18,7 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { it('redirects to signin when not authenticated', async function () { invalidateSession(application); - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); expect(currentURL(), 'currentURL').to.equal('/signin'); }); @@ -28,7 +28,7 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -38,7 +38,7 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); expect(currentURL(), 'currentURL').to.equal('/team/test-user'); }); @@ -48,7 +48,7 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { server.create('user', {roles: [role], slug: 'test-user'}); authenticateSession(application); - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); expect(currentURL(), 'currentURL').to.equal('/team'); }); @@ -62,10 +62,10 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { }); it('it can activate/deactivate', async function () { - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/unsplash'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/unsplash'); // verify we don't have an unsplash setting fixture loaded expect( @@ -103,10 +103,10 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { }); it('warns when leaving without saving', async function () { - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); // has correct url - expect(currentURL(), 'currentURL').to.equal('/settings/apps/unsplash'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/unsplash'); expect( find('[data-test-checkbox="unsplash"]').prop('checked'), @@ -126,9 +126,9 @@ describe('Acceptance: Settings - Apps - Unsplash', function () { expect(currentURL(), 'currentURL').to.equal('/settings/labs'); - await visit('/settings/apps/unsplash'); + await visit('/settings/integrations/unsplash'); - expect(currentURL(), 'currentURL').to.equal('/settings/apps/unsplash'); + expect(currentURL(), 'currentURL').to.equal('/settings/integrations/unsplash'); // settings were not saved expect(find('[data-test-checkbox="unsplash"]').prop('checked'), 'Unsplash checkbox').to.be.true;