You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test('#set Ember.set with Object actually does work TWICE for nested',asyncfunction(assert){set(dummyModel,'name',{});lettitle1={id: 'Mr',description: 'Mister'};lettitle2={id: 'Mrs',description: 'Missus'};letdummyChangeset=Changeset(dummyModel);set(dummyChangeset,'name.title',title1);assert.equal(get(dummyModel,'name.title.id'),undefined,'should not have new change');assert.equal(dummyChangeset.name.title.id,'Mr','should have new change');assert.equal(dummyChangeset.get('name.title.id'),'Mr','should have new change using get');letchanges=get(dummyChangeset,'changes');assert.deepEqual(changes,[{key: 'name.title',value: title1}],'changes with nested key Ember.set');//This is expected to fail but is retained to show us what is stored in changesassert.deepEqual(changes,[{key: 'name.title.id',value: 'Mr'}],'changes with nested key Ember.set');set(dummyChangeset,'name.title',title2);assert.equal(get(dummyModel,'name.title.id'),undefined,'should not have new change');assert.equal(dummyChangeset.name.title.id,'Mrs','should have new change');assert.equal(dummyChangeset.get('name.title.id'),'Mrs','should have new change using get');changes=get(dummyChangeset,'changes');assert.deepEqual(changes,[{key: 'name.title',value: title2}],'changes with nested key Ember.set');//This is expected to fail but is retained to show us what is stored in changesassert.deepEqual(changes,[{key: 'name.title.id',value: 'Mrs'}],'changes with nested key Ember.set');dummyChangeset.execute();assert.equal(dummyModel.name.title.id,'Mrs','has new property');});test('#set with Object should work TWICE for nested',asyncfunction(assert){set(dummyModel,'name',{});lettitle1={id: 'Mr',description: 'Mister'};lettitle2={id: 'Mrs',description: 'Missus'};letdummyChangeset=Changeset(dummyModel);dummyChangeset.set('name.title',title1);assert.equal(get(dummyModel,'name.title.id'),undefined,'should not have new change');assert.equal(dummyChangeset.name.title.id,'Mr','should have new change');assert.equal(dummyChangeset.get('name.title.id'),'Mr','should have new change using get');letchanges=get(dummyChangeset,'changes');assert.deepEqual(changes,[{key: 'name.title',value: title1}],'changes with nested key Ember.set');//This is expected to fail but is retained to show us what is stored in changesassert.deepEqual(changes,[{key: 'name.title.id',value: 'Mr'}],'changes with nested key Ember.set');dummyChangeset.set('name.title',title2);assert.equal(get(dummyModel,'name.title.id'),undefined,'should not have new change');assert.equal(dummyChangeset.name.title.id,'Mrs','should have new change');assert.equal(dummyChangeset.get('name.title.id'),'Mrs','should have new change using get');changes=get(dummyChangeset,'changes');assert.deepEqual(changes,[{key: 'name.title',value: title2}],'changes with nested key Ember.set');//This is expected to fail but is retained to show us what is stored in changesassert.deepEqual(changes,[{key: 'name.title.id',value: 'Mrs'}],'changes with nested key Ember.set');dummyChangeset.execute();assert.equal(dummyModel.name.title.id,'Mrs','has new property');});
Steps to reproduce
Add above tests to tests/unit/changeset-test
Essentially, when using changeset.set(key , value) where key is a nested key, and value is an object, if the value is changed more than once, then the changeset becomes corrupted resulting in invalid data in the model after changeset.execute().
Expected Behavior
In test "#set with Object should work TWICE for nested" the final assert should pass
Actual Behavior
In test "#set with Object should work TWICE for nested" the final assert fails - the change is not reflected in the model
The text was updated successfully, but these errors were encountered:
Version
master
Test Case
Steps to reproduce
Add above tests to tests/unit/changeset-test
Essentially, when using changeset.set(key , value) where key is a nested key, and value is an object, if the value is changed more than once, then the changeset becomes corrupted resulting in invalid data in the model after changeset.execute().
Expected Behavior
In test "#set with Object should work TWICE for nested" the final assert should pass
Actual Behavior
In test "#set with Object should work TWICE for nested" the final assert fails - the change is not reflected in the model
The text was updated successfully, but these errors were encountered: