Fix sync error after changing child item to top-level
This commit is contained in:
parent
a7ea92fd52
commit
a8ea8656d2
3 changed files with 26 additions and 0 deletions
|
@ -138,6 +138,7 @@ Zotero.DataObjectUtilities = {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'deleted':
|
case 'deleted':
|
||||||
|
case 'parentItem':
|
||||||
target[i] = false;
|
target[i] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -201,6 +201,19 @@ describe("Zotero.Collection", function() {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe("#toJSON()", function () {
|
||||||
|
it("should set 'parentCollection' to false when cleared", function* () {
|
||||||
|
var col1 = yield createDataObject('collection');
|
||||||
|
var col2 = yield createDataObject('collection', { parentID: col1.id });
|
||||||
|
// Create initial JSON with parentCollection
|
||||||
|
var patchBase = col2.toJSON();
|
||||||
|
// Clear parent collection and regenerate JSON
|
||||||
|
col2.parentID = false;
|
||||||
|
var json = col2.toJSON({ patchBase });
|
||||||
|
assert.isFalse(json.parentCollection);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe("#getDescendents()", function () {
|
describe("#getDescendents()", function () {
|
||||||
var collection0, collection1, collection2, collection3, item1, item2, item3;
|
var collection0, collection1, collection2, collection3, item1, item2, item3;
|
||||||
|
|
||||||
|
|
|
@ -1138,6 +1138,18 @@ describe("Zotero.Item", function () {
|
||||||
assert.isUndefined(json.title);
|
assert.isUndefined(json.title);
|
||||||
assert.strictEqual(json.deleted, 1);
|
assert.strictEqual(json.deleted, 1);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should set 'parentItem' to false when cleared", function* () {
|
||||||
|
var item = yield createDataObject('item');
|
||||||
|
var note = new Zotero.Item('note');
|
||||||
|
note.parentID = item.id;
|
||||||
|
// Create initial JSON with parentItem
|
||||||
|
var patchBase = note.toJSON();
|
||||||
|
// Clear parent item and regenerate JSON
|
||||||
|
note.parentID = false;
|
||||||
|
var json = note.toJSON({ patchBase });
|
||||||
|
assert.isFalse(json.parentItem);
|
||||||
|
});
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue