mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
37818a1b71
refs: TryGhost/Team#1625 refs: TryGhost/Team#1558 - none of these settings are actively used anymore Co-authored-by: Daniel Lockyer <hi@daniellockyer.com>
80 lines
2.7 KiB
JavaScript
80 lines
2.7 KiB
JavaScript
const assert = require('assert');
|
|
const sinon = require('sinon');
|
|
|
|
const MembersConfigProvider = require('../../../../../core/server/services/members/config');
|
|
|
|
const urlUtils = require('../../../../utils/urlUtils');
|
|
const configUtils = require('../../../../utils/configUtils');
|
|
|
|
/**
|
|
* @param {object} options
|
|
* @param {boolean} options.setDirect - Whether the "direct" keys should be set
|
|
* @param {boolean} options.setConnect - Whether the connect_integration keys should be set
|
|
*/
|
|
function createSettingsMock({setDirect, setConnect}) {
|
|
const getStub = sinon.stub();
|
|
|
|
getStub.withArgs('members_signup_access').returns('all');
|
|
getStub.withArgs('stripe_secret_key').returns(setDirect ? 'direct_secret' : null);
|
|
getStub.withArgs('stripe_publishable_key').returns(setDirect ? 'direct_publishable' : null);
|
|
getStub.withArgs('stripe_plans').returns([{
|
|
name: 'Monthly',
|
|
currency: 'usd',
|
|
interval: 'month',
|
|
amount: 1000
|
|
}, {
|
|
name: 'Yearly',
|
|
currency: 'usd',
|
|
interval: 'year',
|
|
amount: 10000
|
|
}]);
|
|
|
|
getStub.withArgs('stripe_connect_secret_key').returns(setConnect ? 'connect_secret' : null);
|
|
getStub.withArgs('stripe_connect_publishable_key').returns(setConnect ? 'connect_publishable' : null);
|
|
getStub.withArgs('stripe_connect_livemode').returns(true);
|
|
getStub.withArgs('stripe_connect_display_name').returns('Test');
|
|
getStub.withArgs('stripe_connect_account_id').returns('ac_XXXXXXXXXXXXX');
|
|
|
|
getStub.withArgs('members_private_key').returns('PRIVATE');
|
|
getStub.withArgs('members_public_key').returns('PUBLIC');
|
|
|
|
return {
|
|
get: getStub
|
|
};
|
|
}
|
|
|
|
describe('Members - config', function () {
|
|
let membersConfig;
|
|
|
|
beforeEach(function () {
|
|
configUtils.set({
|
|
url: 'http://domain.tld/subdir',
|
|
admin: {url: 'http://sub.domain.tld'}
|
|
});
|
|
|
|
membersConfig = new MembersConfigProvider({
|
|
config: configUtils.config,
|
|
settingsCache: createSettingsMock({setDirect: true, setConnect: false}),
|
|
urlUtils: urlUtils.stubUrlUtilsFromConfig()
|
|
});
|
|
});
|
|
|
|
afterEach(function () {
|
|
configUtils.restore();
|
|
urlUtils.restore();
|
|
sinon.restore();
|
|
});
|
|
|
|
it('can get correct tokenConfig', function () {
|
|
const {issuer, publicKey, privateKey} = membersConfig.getTokenConfig();
|
|
|
|
assert.equal(issuer, 'http://domain.tld/subdir/members/api');
|
|
assert.equal(publicKey, 'PUBLIC');
|
|
assert.equal(privateKey, 'PRIVATE');
|
|
});
|
|
|
|
it('can get correct signinUrl', function () {
|
|
const signinUrl = membersConfig.getSigninURL('a', 'b');
|
|
assert.equal(signinUrl, 'http://domain.tld/subdir/members/?token=a&action=b');
|
|
});
|
|
});
|