fileutils-cli
Version:
A collection of powerful command line file utilities
41 lines (36 loc) • 1.46 kB
JavaScript
const async = require('async');
const fs = require('fs-extra');
const path = require('path');
const util = require('../util/util');
const commandName = 'copy';
const testDir = 'test/copy';
jest.setTimeout(30000);
beforeAll(async () => {
// remove test directory
await fs.remove(testDir);
// create test files/directory
await fs.ensureDir(testDir);
});
describe(`Copy a single file: ${commandName} ${testDir}/one.txt ${testDir}/one-copied.txt`, () => {
const oldFiles = [`${testDir}/one.txt`];
const newFiles = [`${testDir}/one-copied.txt`];
let originalContent;
beforeAll(async () => {
await util.ensureFiles(oldFiles);
await fs.writeFile(`${testDir}/one.txt`, `This is the first test`);
originalContent = await fs.readFile(`${testDir}/one.txt`, 'utf8');
await util.runCommand(`${commandName} ${testDir}/one.txt ${testDir}/one-copied.txt`);
});
test(`Old files do exist`, async () => {
const result = await async.every(oldFiles, async (f) => { return await fs.pathExists(path.resolve(f)); });
await expect(result).toBe(true);
});
test(`New files do exist`, async () => {
const result = await async.every(newFiles, async (f) => { return await fs.pathExists(path.resolve(f)); });
await expect(result).toBe(true);
});
test(`New file has correct content`, async () => {
const result = await fs.readFile(`${testDir}/one-copied.txt`, 'utf8');
expect(result).toBe(originalContent);
});
});