From 4b76c2a247e5d868e9337133c4ddb2070e99613f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 28 Mar 2019 10:52:24 -0500 Subject: [PATCH] SFJS 0.3.54, fixes content merging issue --- package-lock.json | 6 +++--- package.json | 2 +- test/mocha/models.test.js | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b4a06751a..b5981d7e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4830,9 +4830,9 @@ "dev": true }, "standard-file-js": { - "version": "0.3.53", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.53.tgz", - "integrity": "sha512-BU8oxx8RuKMulU5byYZamZiOnxRQrSRCC7EgQyO6+XfOsdPEHBrMxgosd6HAP3l72A+lPY7YHxUOt9oFcdYoxQ==", + "version": "0.3.54", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.54.tgz", + "integrity": "sha512-M7d4J83iZ7VzsmzrwvO7N3R3Jr6hmdvJinWLEi4emwKgqZCc8ExIxBVe3TyrlQbC57cAGDqP/qK7Iu3S0bflIg==", "dev": true }, "statuses": { diff --git a/package.json b/package.json index 42e2e4b3b..2aa060406 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "serve-static": "^1.13.2", "sn-models": "0.1.14", "sn-stylekit": "2.0.13", - "standard-file-js": "0.3.53", + "standard-file-js": "0.3.54", "grunt-shell": "^2.1.0" } } diff --git a/test/mocha/models.test.js b/test/mocha/models.test.js index 212c9e4eb..69cf8b0b7 100644 --- a/test/mocha/models.test.js +++ b/test/mocha/models.test.js @@ -49,6 +49,24 @@ describe("notes and tags", () => { expect(note).to.be.an.instanceOf(SNNote); }); + it('properly constructs syncing params', () => { + let note = new SNNote(); + let title = "Foo", text = "Bar"; + note.title = title; + note.text = text; + + let content = note.createContentJSONFromProperties(); + expect(content.title).to.equal(title); + expect(content.text).to.equal(text); + + let tag = new SNTag(); + tag.title = title; + + expect(tag.createContentJSONFromProperties().title).to.equal(title); + + expect(tag.structureParams().title).to.equal(tag.getContentCopy().title); + }) + it('properly handles legacy relationships', () => { // legacy relationships are when a note has a reference to a tag let modelManager = Factory.createModelManager(); @@ -409,7 +427,7 @@ describe("notes and tags", () => { expect(tag.content.references.length).to.equal(0); }); - it.only('deleting a tag should not dirty notes', () => { + it('deleting a tag should not dirty notes', () => { // Tags now reference notes, but it used to be that tags referenced notes and notes referenced tags. // After the change, there was an issue where removing an old tag relationship from a note would only // remove one way, and thus keep it intact on the visual level. @@ -464,6 +482,19 @@ describe("syncing", () => { }) } + it.only('syncing a note should collapse its properties into the content object after sync', async () => { + let note = new SNNote(); + note.title = "Foo"; + note.setDirty(true); + modelManager.addItem(note); + + expect(note.content.title).to.not.be.ok; + + await syncManager.sync(); + + expect(note.content.title).to.equal("Foo"); + }); + it('syncing a note many times does not cause duplication', async () => { modelManager.handleSignout(); let pair = createRelatedNoteTagPair();