diff --git a/chrome/content/zotero/xpcom/server_connector.js b/chrome/content/zotero/xpcom/server_connector.js index 09cbc4d9b2..1ebfcc5c3d 100644 --- a/chrome/content/zotero/xpcom/server_connector.js +++ b/chrome/content/zotero/xpcom/server_connector.js @@ -643,7 +643,12 @@ Zotero.Server.Connector.Import.prototype = { return 400; } translate.setTranslator(translators[0]); - let items = yield translate.translate(); + var { library, collection, editable } = Zotero.Server.Connector.getSaveTarget(); + let arg = {}; + if (editable) { + arg = {libraryID: library.libraryID, collections: [collection.id]}; + } + let items = yield translate.translate(arg); return [201, "application/json", JSON.stringify(items)]; }) } diff --git a/test/tests/server_connectorTest.js b/test/tests/server_connectorTest.js index 4dc2dd0db4..f999d35ab4 100644 --- a/test/tests/server_connectorTest.js +++ b/test/tests/server_connectorTest.js @@ -513,7 +513,11 @@ describe("Connector Server", function () { assert.equal(error.xmlhttp.status, 400); }); - it('should import resources (BibTeX)', function* () { + it('should import resources (BibTeX) into selected collection', function* () { + var collection = yield createDataObject('collection'); + yield waitForItemsLoad(win); + + var addedItemIDPromise = waitForItemEvent('add'); var resource = `@book{test1, title={Test1}, author={Owl}, @@ -530,6 +534,9 @@ describe("Connector Server", function () { ); assert.equal(response.status, 201); assert.equal(JSON.parse(response.responseText)[0].title, 'Test1'); + + let itemId = yield addedItemIDPromise; + assert.isTrue(collection.hasItem(itemId[0])); }); }); });