mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 22:43:30 +03:00
Un-skipped populateImageSizes subdir test
refs 19c5e94259
- deleting `urlUtils` from the require cache caused problems in later unit tests that were stubbing `urlUtils` because they had required the `urlUtils` instance that existed before it got deleted/re-initialised in this test, so their modules under test ended up using non-stubbed instances
- fix by stubbing the `urlUtils` methods in this test too (we should probably fix this properly at some point so that config changes correctly propagate to `urlUtils` and we don't need to stub internals)
This commit is contained in:
parent
57c26207c9
commit
f10e361352
@ -1,22 +1,15 @@
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const should = require('should');
|
const should = require('should');
|
||||||
|
const sinon = require('sinon');
|
||||||
const nock = require('nock');
|
const nock = require('nock');
|
||||||
const configUtils = require('../../utils/configUtils');
|
const configUtils = require('../../utils/configUtils');
|
||||||
const mobiledocLib = require('../../../core/server/lib/mobiledoc');
|
const mobiledocLib = require('../../../core/server/lib/mobiledoc');
|
||||||
const storage = require('../../../core/server/adapters/storage');
|
const storage = require('../../../core/server/adapters/storage');
|
||||||
|
const urlUtils = require('../../../core/shared/url-utils');
|
||||||
|
|
||||||
describe('lib/mobiledoc', function () {
|
describe('lib/mobiledoc', function () {
|
||||||
beforeEach(function () {
|
|
||||||
configUtils.set('url', 'https://example.com');
|
|
||||||
|
|
||||||
// UrlUtils gets cached with old config data so we need to make sure it's
|
|
||||||
// reloaded when it gets required in modules under test so that our config
|
|
||||||
// changes actually have an effect
|
|
||||||
// TODO: find why this breaks routing tests if they are run after this test
|
|
||||||
// delete require.cache[require.resolve('../../../core/shared/url-utils')];
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(function () {
|
afterEach(function () {
|
||||||
|
sinon.restore();
|
||||||
nock.cleanAll();
|
nock.cleanAll();
|
||||||
configUtils.restore();
|
configUtils.restore();
|
||||||
// ensure config changes are reset and picked up by next test
|
// ensure config changes are reset and picked up by next test
|
||||||
@ -158,11 +151,12 @@ describe('lib/mobiledoc', function () {
|
|||||||
transformed.cards.length.should.equal(4);
|
transformed.cards.length.should.equal(4);
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO: unskip once `delete require.cache` issue above is resolved
|
// images can be stored with and without subdir when a subdir is configured
|
||||||
it.skip('works with subdir', async function () {
|
// but storage adapter always needs paths relative to content dir
|
||||||
// images can be stored with and without subdir when a subdir is configured
|
it('works with subdir', async function () {
|
||||||
// but storage adapter always needs paths relative to content dir
|
// urlUtils is a class instance and won't pick up changes to config so
|
||||||
configUtils.set('url', 'http://localhost:2368/subdir/');
|
// it's necessary to stub out the internals used by
|
||||||
|
sinon.stub(urlUtils, 'getSubdir').returns('/subdir');
|
||||||
|
|
||||||
let mobiledoc = {
|
let mobiledoc = {
|
||||||
cards: [
|
cards: [
|
||||||
|
Loading…
Reference in New Issue
Block a user