0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-03 23:00:14 -05:00
ghost/test/unit/server/services/adapter-manager/options-resolver.test.js

75 lines
2.4 KiB
JavaScript
Raw Normal View History

const should = require('should');
const resolveAdapterOptions = require('../../../../../core/server/services/adapter-manager/options-resolver');
describe('Adapter Manager: options resolver', function () {
it('returns default adapter configuration', function () {
const name = 'storage';
const adapterServiceConfig = {
storage: {
active: 'cloud-storage',
'cloud-storage': {
custom: 'configValue'
}
}
};
const {adapterType, adapterName, adapterConfig} = resolveAdapterOptions(name, adapterServiceConfig);
adapterType.should.equal('storage');
adapterName.should.equal('cloud-storage');
adapterConfig.should.deepEqual({
custom: 'configValue'
});
});
it('returns adapter configuration based on specified feature', function () {
const name = 'storage:media';
const adapterServiceConfig = {
storage: {
active: 'cloud-storage',
media: 'local-storage',
'cloud-storage': {
custom: 'configValue'
},
'local-storage': {
custom: 'localStorageConfig'
}
}
};
const {adapterType, adapterName, adapterConfig} = resolveAdapterOptions(name, adapterServiceConfig);
adapterType.should.equal('storage');
adapterName.should.equal('local-storage');
adapterConfig.should.deepEqual({
custom: 'localStorageConfig'
});
});
it('returns active configuration if piece of feature adapter is missing', function () {
const name = 'storage:media';
const adapterServiceConfig = {
storage: {
active: 'cloud-storage',
media: 'local-storage',
'cloud-storage': {
custom: 'configValue'
}
// when you forget to configure local-storage!
// 'local-storage': {
// custom: 'localStorageConfig'
// }
}
};
const {adapterType, adapterName, adapterConfig} = resolveAdapterOptions(name, adapterServiceConfig);
adapterType.should.equal('storage');
adapterName.should.equal('cloud-storage');
adapterConfig.should.deepEqual({
custom: 'configValue'
});
});
});