mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
Fixed theme-engine middleware tests timing out rather than showing failed assertions
no issue - if any of the assertions in a test failed there was no handling, instead the test just timed out with a timeout error - wrapping the assertions in a try/catch and calling `done()` with the error object aborts the test immediately and shows a useful assertion failure message
This commit is contained in:
parent
d4cd1bb865
commit
4a6bedce7b
1 changed files with 91 additions and 59 deletions
|
@ -72,12 +72,16 @@ describe('Themes middleware', function () {
|
|||
fakeActiveTheme.mounted = false;
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
fakeActiveTheme.mount.called.should.be.true();
|
||||
fakeActiveTheme.mount.calledWith(req.app).should.be.true();
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -85,11 +89,15 @@ describe('Themes middleware', function () {
|
|||
fakeActiveTheme.mounted = true;
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
fakeActiveTheme.mount.called.should.be.false();
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -99,6 +107,7 @@ describe('Themes middleware', function () {
|
|||
.returns(undefined);
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
// Did throw an error
|
||||
should.exist(err);
|
||||
err.message.should.eql('The currently active theme "bacon-sensation" is missing.');
|
||||
|
@ -107,6 +116,9 @@ describe('Themes middleware', function () {
|
|||
fakeActiveTheme.mount.called.should.be.false();
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -114,11 +126,15 @@ describe('Themes middleware', function () {
|
|||
req.secure = Math.random() < 0.5;
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
should.equal(res.locals.secure, req.secure);
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -127,6 +143,7 @@ describe('Themes middleware', function () {
|
|||
const themeDataExpectedProps = ['posts_per_page', 'image_sizes'];
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
hbs.updateTemplateOptions.calledOnce.should.be.true();
|
||||
|
@ -150,6 +167,9 @@ describe('Themes middleware', function () {
|
|||
data.site.signup_url.should.equal('#/portal');
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -158,6 +178,7 @@ describe('Themes middleware', function () {
|
|||
.withArgs('members_signup_access').returns('none');
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
const templateOptions = hbs.updateTemplateOptions.firstCall.args[0];
|
||||
const data = templateOptions.data;
|
||||
|
||||
|
@ -165,6 +186,9 @@ describe('Themes middleware', function () {
|
|||
data.site.signup_url.should.equal('https://feedly.com/i/subscription/feed/http%3A%2F%2F127.0.0.1%3A2369%2Frss%2F');
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -177,6 +201,7 @@ describe('Themes middleware', function () {
|
|||
};
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
hbs.updateTemplateOptions.calledOnce.should.be.true();
|
||||
|
@ -192,6 +217,9 @@ describe('Themes middleware', function () {
|
|||
data.site.accent_color.should.eql('#000fff');
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -202,6 +230,7 @@ describe('Themes middleware', function () {
|
|||
};
|
||||
|
||||
executeMiddleware(middleware, req, res, function next(err) {
|
||||
try {
|
||||
should.not.exist(err);
|
||||
|
||||
hbs.updateTemplateOptions.calledOnce.should.be.true();
|
||||
|
@ -218,6 +247,9 @@ describe('Themes middleware', function () {
|
|||
data.site.icon.should.eql('/content/images/myimg.png');
|
||||
|
||||
done();
|
||||
} catch (error) {
|
||||
done(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue