const test = require('ava')
const path = require('path')

const metadata = require('../../src/modules/metadata.js')

test('getFileMetadata', t => {
  const expected = new Map(
    Object.entries({
      title: 'This is a test',
      description: 'Test file',
      tags: ['a', 'b']
    })
  )
  t.deepEqual(
    metadata.getFileMetadata(path.resolve(__dirname, '../data/testfile.md')),
    expected
  )
})

test('getFolderMetadata', t => {
  const expected = new Map(
    Object.entries({
      title: 'This is a test',
      description: 'Test file',
      tags: ['a', 'b']
    })
  )
  const actual = metadata.getFolderMetadata(path.resolve(__dirname, '../data/'))
  t.true(Array.isArray(actual), 'must return an array')
  t.true(actual.length > 0, 'must return a non-empty array')
  t.is(actual[0].path, path.resolve(__dirname, '../data/testfile.md'))
  t.deepEqual(actual[0].data, expected)
})