import test from 'ava'
import fs from 'fs'
import mock from 'mock-fs'

test.before(t => {
  mock({
    'dir': {
      'document': 'mocked content'
    }    
  })
});

test.after.always(t => {
  mock.restore()
});

test('fs sync', t => {
  var contents = fs.readFileSync('dir/document', 'utf8')
  t.is(contents, 'mocked content', 'mocked file content')
});

test('fs async', async t => {
  const testReadFile = new Promise(function(resolve, reject) {
    fs.readFile('dir/document', 'utf8', (err, data) => {
      err ? reject(err) : resolve(data);
    })
  })
  t.is(await testReadFile, 'mocked content', 'mocked file content')
});