From 9b636a1885a18fd75092acdbd81762060f2619a4 Mon Sep 17 00:00:00 2001 From: Daniel Gasienica Date: Mon, 19 Mar 2018 19:45:22 -0400 Subject: [PATCH] Add test for `Attachments.readData` --- test/app/attachments_test.js | 44 ++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/test/app/attachments_test.js b/test/app/attachments_test.js index 5d149faab..b0bf8d73b 100644 --- a/test/app/attachments_test.js +++ b/test/app/attachments_test.js @@ -35,18 +35,44 @@ describe('Attachments', () => { const inputBuffer = Buffer.from(input); assert.deepEqual(inputBuffer, output); }); + }); + + describe('readData', () => { + let tempRootDirectory = null; + before(() => { + tempRootDirectory = tmp.dirSync().name; + }); - describe('createName', () => { - it('should return random file name with correct length', () => { - assert.lengthOf(Attachments.createName(), NAME_LENGTH); - }); + after(async () => { + await fse.remove(tempRootDirectory); }); - describe('getRelativePath', () => { - it('should return correct path', () => { - const name = '608ce3bc536edbf7637a6aeb6040bdfec49349140c0dd43e97c7ce263b15ff7e'; - assert.lengthOf(Attachments.getRelativePath(name), PATH_LENGTH); - }); + it('should read file from disk', async () => { + const tempDirectory = path.join(tempRootDirectory, 'Attachments_readData'); + + const relativePath = Attachments.getRelativePath(Attachments.createName()); + const fullPath = path.join(tempDirectory, relativePath); + const input = stringToArrayBuffer('test string'); + + const inputBuffer = Buffer.from(input); + await fse.ensureFile(fullPath); + await fse.writeFile(fullPath, inputBuffer); + const output = await Attachments.readData(tempDirectory)(relativePath); + + assert.deepEqual(input, output); + }); + }); + + describe('createName', () => { + it('should return random file name with correct length', () => { + assert.lengthOf(Attachments.createName(), NAME_LENGTH); + }); + }); + + describe('getRelativePath', () => { + it('should return correct path', () => { + const name = '608ce3bc536edbf7637a6aeb6040bdfec49349140c0dd43e97c7ce263b15ff7e'; + assert.lengthOf(Attachments.getRelativePath(name), PATH_LENGTH); }); }); });