Ghost/test/unit/frontend/meta/published-date.test.js
Hannah Wolfe 95d27e7f58
Moved frontend unit tests into their own folder
- 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
2021-10-06 11:58:29 +01:00

54 lines
1.8 KiB
JavaScript

const should = require('should');
const getPublishedDate = require('../../../../core/frontend/meta/published-date');
describe('getPublishedDate', function () {
it('should return published at date as ISO 8601 from context if exists', function () {
const pubDate = getPublishedDate({
context: ['post'],
post: {
published_at: new Date('2016-01-01 12:56:45.232Z')
}
});
should.equal(pubDate, '2016-01-01T12:56:45.232Z');
});
it('should return published at over created at date as ISO 8601 if has both', function () {
const pubDate = getPublishedDate({
context: ['post'],
post: {
published_at: new Date('2016-01-01 12:56:45.232Z'),
created_at: new Date('2015-01-01 12:56:45.232Z')
}
});
should.equal(pubDate, '2016-01-01T12:56:45.232Z');
});
it('should return published at date for an amp context', function () {
const pubDate = getPublishedDate({
context: ['amp', 'post'],
post: {
published_at: new Date('2016-01-01 12:56:45.232Z')
}
});
should.equal(pubDate, '2016-01-01T12:56:45.232Z');
});
it('should return null if no update_at date on context', function () {
const pubDate = getPublishedDate({
context: ['author'],
author: {}
});
should.equal(pubDate, null);
});
it('should return null if context and property do not match in name', function () {
const pubDate = getPublishedDate({
context: ['author'],
post: {
published_at: new Date('2016-01-01 12:56:45.232Z')
}
});
should.equal(pubDate, null);
});
});