From 5a069337326656a5bf2ec5174c6d7ef1f6413567 Mon Sep 17 00:00:00 2001 From: uiolee <22849383+uiolee@users.noreply.github.com> Date: Fri, 19 Apr 2024 00:11:05 +0800 Subject: [PATCH] test: add test case --- test/index.js | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/test/index.js b/test/index.js index 15bf534..fd19ab1 100644 --- a/test/index.js +++ b/test/index.js @@ -11,10 +11,14 @@ describe('Index generator', () => { locals; // Default config - hexo.config.index_generator = { + const default_index_generator = Object.freeze({ per_page: 10, order_by: '-date' - }; + }); + + beforeEach(() => { + hexo.config.index_generator = {...default_index_generator}; + }); before(() => hexo.init().then(() => Post.insert([ {source: 'foo', slug: 'foo', date: 1e8, order: 0}, @@ -57,8 +61,6 @@ describe('Index generator', () => { result[1].data.next_link.should.eql(''); result[1].data.__index.should.be.true; - // Restore config - hexo.config.index_generator.per_page = 10; }); it('pagination disabled', () => { @@ -81,8 +83,6 @@ describe('Index generator', () => { result[0].data.next_link.should.eql(''); result[0].data.__index.should.be.true; - // Restore config - hexo.config.index_generator.per_page = 10; }); describe('order', () => { @@ -109,8 +109,6 @@ describe('Index generator', () => { result[0].data.posts.eq(1).source.should.eql('baz'); result[0].data.posts.eq(2).source.should.eql('bar'); - // Restore config - delete hexo.config.index_generator.order_by; }); it('custom order - invalid order key', () => { @@ -122,8 +120,6 @@ describe('Index generator', () => { result[0].data.posts.eq(1).source.should.eql('bar'); result[0].data.posts.eq(2).source.should.eql('baz'); - // Restore config - delete hexo.config.index_generator.order_by; }); }); @@ -137,8 +133,17 @@ describe('Index generator', () => { result[1].path.should.eql('yo/2/'); result[2].path.should.eql('yo/3/'); - // Restore config - hexo.config.index_generator.per_page = 10; - hexo.config.pagination_dir = 'page'; }); + + it('custom layout', () => { + const custom_layout = ['custom', 'archive', 'index']; + hexo.config.index_generator.layout = [...custom_layout]; + + const result = generator(locals); + + result.forEach(res => { + res.layout.should.eql(custom_layout); + }); + }); + });