Permalink
Browse files

Fix non-idempotent Ghost API helper

- Add test
- Don't override apiUrl

closes #6239
  • Loading branch information...
halfdan committed Dec 18, 2015
1 parent 48bc031 commit 6f53e7340793f4f5183aee573937800451716bfe
Showing with 20 additions and 3 deletions.
  1. +4 −3 core/shared/ghost-url.js
  2. +16 −0 core/test/unit/ghost_url_spec.js
@@ -30,7 +30,8 @@
url = {
api: function () {
var args = Array.prototype.slice.call(arguments),
queryOptions;
queryOptions,
requestUrl = apiUrl;
if (args.length && typeof args[args.length - 1] === 'object') {
queryOptions = args.pop();
@@ -43,11 +44,11 @@
if (args.length) {
args.forEach(function (el) {
apiUrl += el.replace(/^\/|\/$/g, '') + '/';
requestUrl += el.replace(/^\/|\/$/g, '') + '/';
});
}
return apiUrl + generateQueryString(queryOptions);
return requestUrl + generateQueryString(queryOptions);
}
};
@@ -127,4 +127,20 @@ describe('Ghost Ajax Helper', function () {
rendered.should.match(/include=tags%2Ctests/);
rendered.should.match(/page=2/);
});
it('should be idempotent', function() {
configUtils.set({
url: 'https://testblog.com/blog/'
});
ghostUrl.init({
clientId: 'ghost-frontend',
clientSecret: 'notasecret',
url: configUtils.config.apiUrl()
});
var rendered = ghostUrl.url.api('posts', {limit: 3});
var rendered2 = ghostUrl.url.api('posts', {limit: 3});
rendered.should.equal(rendered2);
})
});

0 comments on commit 6f53e73

Please sign in to comment.