From af9c195453ba74d3daf8320d55ff2a8fac8037b1 Mon Sep 17 00:00:00 2001 From: Leooo Date: Fri, 26 May 2017 15:59:52 +0100 Subject: [PATCH 1/2] add failing test saveChanges --- addon/initializer.js | 2 +- addon/model-ext.js | 2 +- index.js | 5 ++++- tests/unit/model-test.js | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/addon/initializer.js b/addon/initializer.js index 43dc55d..1e9fae3 100644 --- a/addon/initializer.js +++ b/addon/initializer.js @@ -1,4 +1,4 @@ /* global require */ export function initializer() { require('ember-data-change-tracker/model-ext'); -} \ No newline at end of file +} diff --git a/addon/model-ext.js b/addon/model-ext.js index bf58a9a..8cff4a0 100644 --- a/addon/model-ext.js +++ b/addon/model-ext.js @@ -118,4 +118,4 @@ Model.reopen({ Tracker.clear(this); }) -}); \ No newline at end of file +}); diff --git a/index.js b/index.js index 77fa82f..44b0fee 100644 --- a/index.js +++ b/index.js @@ -2,5 +2,8 @@ 'use strict'; module.exports = { - name: 'ember-data-change-tracker' + name: 'ember-data-change-tracker', + isDevelopingAddon: function () { + return true; + } }; diff --git a/tests/unit/model-test.js b/tests/unit/model-test.js index 1eac106..2e85967 100644 --- a/tests/unit/model-test.js +++ b/tests/unit/model-test.js @@ -1,4 +1,6 @@ import Ember from 'ember'; +const {run} = Ember; + import FactoryGuy, { build, make, makeList, mockUpdate, mockFindRecord, mockReload, mockDelete, manualSetup, mockSetup, mockTeardown @@ -251,6 +253,22 @@ test('#changed ( modifying ) attribute of type undefined', function(assert) { assert.ok(changed); }); +test('#changed ( modifying ) attribute of type undefined then saveChanges', function(assert) { + let company = make('company', { name: 'blu' }), + changed; + company.startTrack(); + + run(() => { + company.set('name', 'bla'); + company.saveChanges(); + //if we run twice the below, the test passes.. + //company._internalModel.flushChangedAttributes(); + //company._internalModel.flushChangedAttributes(); + changed = company.changed().name; + assert.notOk(changed); + }); +}); + test('#changed ( modifying ) attribute of type that does not serialize to string', function(assert) { let blob = { foo: 1 }; let user = make('user', { blob }); From 3203d95b5d71b89ab913e9ca7b42ddc2b7396524 Mon Sep 17 00:00:00 2001 From: Leooo Date: Fri, 26 May 2017 16:00:56 +0100 Subject: [PATCH 2/2] remove isDevelopingAddon --- index.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/index.js b/index.js index 44b0fee..77fa82f 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,5 @@ 'use strict'; module.exports = { - name: 'ember-data-change-tracker', - isDevelopingAddon: function () { - return true; - } + name: 'ember-data-change-tracker' };