diff --git a/package.json b/package.json index 288172bf..403d7470 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "postinstall": "npm run vendor", "vendor": "oh-my-cdn", "compile": "grunt compile", - "test": "ava" + "test": "NODE_ENV=test ava" }, "config": { "electron-version": "1.2.8" diff --git a/tests/dataApi/init.js b/tests/dataApi/init.js index 95d5f581..2d47a904 100644 --- a/tests/dataApi/init.js +++ b/tests/dataApi/init.js @@ -7,33 +7,21 @@ global.navigator = window.navigator const Storage = require('dom-storage') const localStorage = window.localStorage = global.localStorage = new Storage(null, { strict: true }) -const sander = require('sander') const path = require('path') const crypto = require('crypto') -const dummyStoragePath = path.join(__dirname, '..', 'sandbox') -const dummyRawStorage = { - name: 'test', - key: crypto.randomBytes(6).toString('hex'), - path: dummyStoragePath -} - -test.serial('fetch storages and notes', (t) => { - const boostnoteJSONPath = path.join(dummyStoragePath, 'boostnote.json') - const dummyFolderKey = crypto.randomBytes(6).toString('hex') - const dummyFolders = [{ - key: dummyFolderKey, +test.serial('Fetch storages and notes', (t) => { + const dummyStoragePath = path.join(__dirname, '..', 'dummy/dummyStorage') + const dummyRawStorage = { name: 'test1', - color: '#f55' - }] - const dummyFolderDataJSONPath = path.join(dummyStoragePath, dummyFolderKey, 'data.json') - const dummyNotesJSONString = sander.readFileSync(path.join(__dirname, '../dummy/data.json')) + key: crypto.randomBytes(6).toString('hex'), + path: dummyStoragePath + } + const dummyFolderKey = 'fc6ba88e8ecf' return Promise.resolve() .then(function before () { localStorage.setItem('storages', JSON.stringify([dummyRawStorage])) - sander.writeFileSync(boostnoteJSONPath, JSON.stringify({folders: dummyFolders})) - sander.writeFileSync(dummyFolderDataJSONPath, dummyNotesJSONString) }) .then(function test () { return init() @@ -54,12 +42,16 @@ test.serial('fetch storages and notes', (t) => { }) .then(function after () { localStorage.clear() - sander.unlinkSync(boostnoteJSONPath) - sander.unlinkSync(dummyFolderDataJSONPath) }) }) -test.serial('Fetch storages. case: storage folder doesnt exist.', (t) => { +test.serial('If storage path is a empty folder, return metadata with empty folder array and empty note array.', (t) => { + const emptyFolderPath = path.join(__dirname, '..', 'dummy/empty') + const dummyRawStorage = { + name: 'test2', + key: crypto.randomBytes(6).toString('hex'), + path: emptyFolderPath + } return Promise.resolve() .then(function before () { localStorage.setItem('storages', JSON.stringify([dummyRawStorage])) diff --git a/tests/dummy/data.json b/tests/dummy/data.json deleted file mode 100644 index b3d78d5e..00000000 --- a/tests/dummy/data.json +++ /dev/null @@ -1,28 +0,0 @@ -{"notes": - [ - { - "tags": [], - "title": "Footnote test", - "content": "# Footnote test\n\ntest test", - "type": "MARKDOWN_NOTE", - "folder": "fc6ba88e8ecf", - "key": "93c6ac2a7953", - "isStarred": false, - "createdAt": "2016-07-25T16:19:55.620Z", - "updatedAt": "2016-07-26T08:00:11.326Z", - "uniqueKey": "1714d46e36b5-fc6ba88e8ecf-93c6ac2a7953" - }, - { - "tags": [], - "title": "Checkbox test", - "content": "# Checkbox test\n\n- [x] Task1\n- [ ] Task2\n- [ ] Task3\n\n", - "type": "MARKDOWN_NOTE", - "folder": "fc6ba88e8ecf", - "key": "4568d84331d9", - "isStarred": false, - "createdAt": "2016-07-25T16:58:43.685Z", - "updatedAt": "2016-08-21T06:14:50.381Z", - "uniqueKey": "1714d46e36b5-fc6ba88e8ecf-4568d84331d9" - } - ] - } diff --git a/tests/dummy/dummyStorage/boostnote.json b/tests/dummy/dummyStorage/boostnote.json new file mode 100644 index 00000000..ae4e4df4 --- /dev/null +++ b/tests/dummy/dummyStorage/boostnote.json @@ -0,0 +1,9 @@ +{ + "folders": [ + { + "key": "fc6ba88e8ecf", + "name": "test", + "color": "#FF5555" + } + ] +} diff --git a/tests/dummy/dummyStorage/fc6ba88e8ecf/data.json b/tests/dummy/dummyStorage/fc6ba88e8ecf/data.json new file mode 100644 index 00000000..08e002c1 --- /dev/null +++ b/tests/dummy/dummyStorage/fc6ba88e8ecf/data.json @@ -0,0 +1,24 @@ +{ + "notes": [ + { + "tags": [], + "title": "Footnote test", + "content": "# Footnote test\n\ntest test", + "type": "MARKDOWN_NOTE", + "key": "93c6ac2a7953", + "isStarred": false, + "createdAt": "2016-07-25T16:19:55.620Z", + "updatedAt": "2016-07-26T08:00:11.326Z" + }, + { + "tags": [], + "title": "Checkbox test", + "content": "# Checkbox test\n\n- [x] Task1\n- [ ] Task2\n- [ ] Task3\n\n", + "type": "MARKDOWN_NOTE", + "key": "4568d84331d9", + "isStarred": false, + "createdAt": "2016-07-25T16:58:43.685Z", + "updatedAt": "2016-08-21T06:14:50.381Z" + } + ] +}