const test = require('ava') const path = require('path') const Posts = require('../../src/modules/posts.js') test('get', t => { const expected = new Map( Object.entries({ title: 'This is a test', description: 'Test file', tags: ['a', 'b'] }) ) const post = Posts.get(path.resolve(__dirname, '../data/testfile.md')) t.deepEqual(post.data, expected) t.is(post.basename, 'testfile', 'must include basename') }) test('getFolder', t => { const expected = new Map( Object.entries({ title: 'This is a test', description: 'Test file', tags: ['a', 'b'] }) ) const actual = Posts.getFolder(path.resolve(__dirname, '../data/')) t.true(actual.size > 0, 'must return a non-empty map') t.is( actual.get('testfile').path, path.resolve(__dirname, '../data/testfile.md') ) t.deepEqual(actual.get('testfile').data, expected) }) test('toTags', t => { const posts = new Map([ [ 'testfile', { data: new Map([['title', 'Test Post'], ['tags', ['a', 'b']]]) } ] ]) const actual = Posts.toTags(posts) t.is(actual.size, 2) t.is(actual.get('a')[0].data.get('title'), 'Test Post') t.deepEqual(actual.get('a'), actual.get('b')) })