|
@@ -1,43 +1,62 @@
|
|
|
const { injectPageMetadata } = require('../../helpers/page')
|
|
|
|
|
|
-describe('injectPageMetadata tests', () => {
|
|
|
- let page = {
|
|
|
+describe('helpers/page/injectPageMetadata', () => {
|
|
|
+ const page = {
|
|
|
title: 'PAGE TITLE',
|
|
|
description: 'A PAGE',
|
|
|
isPublished: true,
|
|
|
updatedAt: new Date(),
|
|
|
- content: 'TEST CONTENT'
|
|
|
+ content: 'TEST CONTENT',
|
|
|
+ createdAt: new Date('2019-01-01'),
|
|
|
}
|
|
|
- test('injectPageMetadata: default', () => {
|
|
|
+
|
|
|
+ it('returns the page content by default when content type is unknown', () => {
|
|
|
const expected = 'TEST CONTENT'
|
|
|
const result = injectPageMetadata(page)
|
|
|
expect(result).toEqual(expected)
|
|
|
})
|
|
|
- test('injectPageMetadata: markdown', () => {
|
|
|
- page.contentType = 'markdown'
|
|
|
+
|
|
|
+ it('injects metadata for markdown contents', () => {
|
|
|
+ const markdownPage = {
|
|
|
+ ...page,
|
|
|
+ contentType: 'markdown',
|
|
|
+ editorKey: 'markdown',
|
|
|
+ }
|
|
|
+
|
|
|
const expected = `---
|
|
|
-title: ${page.title}
|
|
|
-description: ${page.description}
|
|
|
-published: ${page.isPublished.toString()}
|
|
|
-date: ${page.updatedAt}
|
|
|
-tags: \n---
|
|
|
+title: ${markdownPage.title}
|
|
|
+description: ${markdownPage.description}
|
|
|
+published: ${markdownPage.isPublished.toString()}
|
|
|
+date: ${markdownPage.updatedAt}
|
|
|
+tags:\x20
|
|
|
+editor: ${markdownPage.editorKey}
|
|
|
+dateCreated: ${markdownPage.createdAt}\n---
|
|
|
|
|
|
TEST CONTENT`
|
|
|
- const result = injectPageMetadata(page)
|
|
|
+
|
|
|
+ const result = injectPageMetadata(markdownPage)
|
|
|
expect(result).toEqual(expected)
|
|
|
})
|
|
|
|
|
|
- test('injectPageMetadata: hmtl', () => {
|
|
|
- page.contentType = 'html'
|
|
|
+ it('injects metadata for html contents', () => {
|
|
|
+ const htmlPage = {
|
|
|
+ ...page,
|
|
|
+ contentType: 'html',
|
|
|
+ editorKey: 'html',
|
|
|
+ }
|
|
|
+
|
|
|
const expected = `<!--
|
|
|
-title: ${page.title}
|
|
|
-description: ${page.description}
|
|
|
-published: ${page.isPublished.toString()}
|
|
|
-date: ${page.updatedAt}
|
|
|
-tags: \n-->
|
|
|
+title: ${htmlPage.title}
|
|
|
+description: ${htmlPage.description}
|
|
|
+published: ${htmlPage.isPublished.toString()}
|
|
|
+date: ${htmlPage.updatedAt}
|
|
|
+tags:\x20
|
|
|
+editor: ${htmlPage.editorKey}
|
|
|
+dateCreated: ${htmlPage.createdAt}\n-->
|
|
|
|
|
|
TEST CONTENT`
|
|
|
- const result = injectPageMetadata(page)
|
|
|
+
|
|
|
+ const result = injectPageMetadata(htmlPage)
|
|
|
expect(result).toEqual(expected)
|
|
|
})
|
|
|
})
|