95d27e7f58
- this is a small part of a bit of cleanup of our test files - the goal is to make the existing tests clearer with a view to making it easier to write more tests - this makes the test structure follow the codebase structure more closely - eventually we will colocate the frontend tests with the frontend code
91 lines
2.8 KiB
JavaScript
91 lines
2.8 KiB
JavaScript
const should = require('should');
|
|
const sinon = require('sinon');
|
|
const getAuthorImage = require('../../../../core/frontend/meta/author-image');
|
|
|
|
describe('getAuthorImage', function () {
|
|
afterEach(function () {
|
|
sinon.restore();
|
|
});
|
|
|
|
it('should return author image url if post and has url', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['post'],
|
|
post: {
|
|
primary_author: {
|
|
profile_image: '/content/images/2016/01/myimage.jpg'
|
|
}
|
|
}
|
|
}, false);
|
|
|
|
imageUrl.should.equal('/content/images/2016/01/myimage.jpg');
|
|
});
|
|
|
|
it('should return absolute author image url if post and has url', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['post'],
|
|
post: {
|
|
primary_author: {
|
|
profile_image: '/content/images/2016/01/myimage.jpg'
|
|
}
|
|
}
|
|
}, true);
|
|
imageUrl.should.not.equal('/content/images/2016/01/myimage.jpg');
|
|
imageUrl.should.match(/\/content\/images\/2016\/01\/myimage\.jpg$/);
|
|
});
|
|
|
|
it('should return author image url if AMP post and has url', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['amp', 'post'],
|
|
post: {
|
|
primary_author: {
|
|
profile_image: '/content/images/2016/01/myimage.jpg'
|
|
}
|
|
}
|
|
}, false);
|
|
imageUrl.should.equal('/content/images/2016/01/myimage.jpg');
|
|
});
|
|
|
|
it('should return absolute author image url if AMP post and has url', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['amp', 'post'],
|
|
post: {
|
|
primary_author: {
|
|
profile_image: '/content/images/2016/01/myimage.jpg'
|
|
}
|
|
}
|
|
}, true);
|
|
imageUrl.should.not.equal('/content/images/2016/01/myimage.jpg');
|
|
imageUrl.should.match(/\/content\/images\/2016\/01\/myimage\.jpg$/);
|
|
});
|
|
|
|
it('should return null if context does not contain author image url and is a post', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['post'],
|
|
post: {
|
|
primary_author: {
|
|
name: 'Test Author'
|
|
}
|
|
}
|
|
});
|
|
|
|
should(imageUrl).equal(null);
|
|
});
|
|
|
|
it('should return null if context does not contain author and is a post', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['post'],
|
|
post: {}
|
|
});
|
|
|
|
should(imageUrl).equal(null);
|
|
});
|
|
|
|
it('should return null if context is not a post', function () {
|
|
const imageUrl = getAuthorImage({
|
|
context: ['tag']
|
|
});
|
|
|
|
should(imageUrl).equal(null);
|
|
});
|
|
});
|