diff --git a/core/frontend/helpers/ghost_head.js b/core/frontend/helpers/ghost_head.js index fe59b8d014..0f14cdbed0 100644 --- a/core/frontend/helpers/ghost_head.js +++ b/core/frontend/helpers/ghost_head.js @@ -37,13 +37,17 @@ function finaliseStructuredData(meta) { } function getMembersHelper(data) { + if (settingsCache.get('members_signup_access') === 'none') { + return ''; + } + const stripeDirectSecretKey = settingsCache.get('stripe_secret_key'); const stripeDirectPublishableKey = settingsCache.get('stripe_publishable_key'); const stripeConnectAccountId = settingsCache.get('stripe_connect_account_id'); const colorString = _.has(data, 'site._preview') && data.site.accent_color ? ` data-accent-color="${data.site.accent_color}"` : ''; const portalUrl = config.get('portal:url'); let membersHelper = ``; - membersHelper += (``); + membersHelper += (``); if ((!!stripeDirectSecretKey && !!stripeDirectPublishableKey) || !!stripeConnectAccountId) { membersHelper += ''; } diff --git a/test/unit/helpers/ghost_head_spec.js b/test/unit/helpers/ghost_head_spec.js index a2988071cc..1269e690d7 100644 --- a/test/unit/helpers/ghost_head_spec.js +++ b/test/unit/helpers/ghost_head_spec.js @@ -1684,4 +1684,122 @@ describe('{{ghost_head}} helper', function () { }).catch(done); }); }); + + describe('members scripts', function () { + it('includes portal when signup is "all"', function (done) { + settingsCache.get.withArgs('members_signup_access').returns('all'); + + helpers.ghost_head(testUtils.createHbsResponse({ + locals: { + relativeUrl: '/', + context: ['home', 'index'], + safeVersion: '4.3' + } + })).then(function (rendered) { + should.exist(rendered); + rendered.string.should.containEql('