diff --git a/package.json b/package.json index ae31b5f0..0e2bb2d1 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "electron-gh-releases": "^2.0.2", "font-awesome": "^4.3.0", "highlight.js": "^9.3.0", + "immutable": "^3.8.1", "lodash": "^4.11.1", "markdown-it": "^6.0.1", "markdown-it-checkbox": "^1.1.0", @@ -75,11 +76,13 @@ "dom-storage": "^2.0.2", "electron-packager": "^6.0.0", "electron-prebuilt": "^1.2.8", + "faker": "^3.1.0", "grunt": "^0.4.5", "grunt-electron-installer": "^1.2.0", "history": "^1.17.0", "jsdom": "^9.4.2", "merge-stream": "^1.0.0", + "mock-fs": "^3.11.0", "nib": "^1.1.0", "oh-my-cdn": "^0.1.1", "react": "^15.3.0", diff --git a/tests/dataApi/transform.js b/tests/dataApi/transform.js index fb54a582..2c181b42 100644 --- a/tests/dataApi/transform.js +++ b/tests/dataApi/transform.js @@ -14,10 +14,11 @@ const CSON = require('season') const _ = require('lodash') const os = require('os') -const dummyStoragePath = path.join(os.tmpdir(), 'sandbox/transform-test-storage') +const dummyStoragePath = path.join(os.tmpdir(), 'test/transform-test-storage') test.beforeEach((t) => { let dummyData = t.context.dummyData = TestDummy.dummyLegacyStorage(dummyStoragePath) + console.log('init count', dummyData.notes.length) localStorage.setItem('storages', JSON.stringify([dummyData.cache])) }) @@ -34,6 +35,7 @@ test.serial('Transform legacy storage into v1 storage', (t) => { let dummyData = t.context.dummyData let noteDirPath = path.join(dummyStoragePath, 'notes') let fileList = sander.readdirSync(noteDirPath) + t.is(dummyData.notes.length, fileList.length) let noteMap = fileList .map((filePath) => { return CSON.readFileSync(path.join(noteDirPath, filePath)) diff --git a/tests/fixtures/TestDummy.js b/tests/fixtures/TestDummy.js index 449315b7..c51f5a11 100644 --- a/tests/fixtures/TestDummy.js +++ b/tests/fixtures/TestDummy.js @@ -95,12 +95,13 @@ function dummyStorage (storagePath, override = {}) { var cacheData = override.cache != null ? override.cache : {} - if (cacheData.key == null) cacheData.key = key + if (cacheData.key == null) cacheData.key = keygen() if (cacheData.name == null) cacheData.name = faker.random.word() + if (cacheData.type == null) cacheData.type = 'FILESYSTEM' + cacheData.path = storagePath sander.writeFileSync(path.join(storagePath, 'boostnote.json'), JSON.stringify(jsonData)) var notesData = [] - console.log(notesData) var noteCount = Math.floor((Math.random() * 15)) + 1 for (var i = 0; i < noteCount; i++) { var key = keygen() @@ -133,17 +134,20 @@ function dummyLegacyStorage (storagePath, override = {}) { var cacheData = override.cache != null ? override.cache : {} - if (cacheData.key == null) cacheData.key = key + if (cacheData.key == null) cacheData.key = keygen() if (cacheData.name == null) cacheData.name = faker.random.word() + if (cacheData.type == null) cacheData.type = 'FILESYSTEM' + cacheData.path = storagePath sander.writeFileSync(path.join(storagePath, 'boostnote.json'), JSON.stringify(jsonData)) + var notesData = [] for (var j = 0; j < jsonData.folders.length; j++) { + var folderNotes = [] var noteCount = Math.floor((Math.random() * 5)) + 1 - var notesData = [] for (var i = 0; i < noteCount; i++) { var key = keygen(6) - while (notesData.some((note) => note.key === key)) { + while (folderNotes.some((note) => note.key === key)) { key = keygen(6) } @@ -151,10 +155,10 @@ function dummyLegacyStorage (storagePath, override = {}) { key, folder: jsonData.folders[j].key }) - notesData.push(noteData) + folderNotes.push(noteData) } - - CSON.writeFileSync(path.join(storagePath, jsonData.folders[j].key, 'data.json'), {notes: notesData.map((note) => _.omit(note, ['folder']))}) + notesData = notesData.concat(folderNotes) + CSON.writeFileSync(path.join(storagePath, jsonData.folders[j].key, 'data.json'), {notes: folderNotes.map((note) => _.omit(note, ['folder']))}) } return {