diff --git a/master.js b/master.js index 9b0b5f93..10c48bfe 100644 --- a/master.js +++ b/master.js @@ -271,12 +271,13 @@ app.post("/api/remove", function(req, res) { res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); // save items we get var object = req.body; - if(!object.instanceName) { - object.instanceName = "unknown" - } if(!object.instanceID) { object.instanceID = "unknown" } + if(!object.instanceName) { + object.instanceName = "unknown"; + } + if(slaves[object.instanceID]) object.instanceName = slaves[object.instanceID].instanceName; let item = db.items[object.name] // console.dir(doc); if (!item) { diff --git a/master.spec.js b/master.spec.js index 814b7153..11441bdc 100644 --- a/master.spec.js +++ b/master.spec.js @@ -88,19 +88,14 @@ describe('Master server endpoint testing', function() { assert(!err) assert.equal(res.text, "success", "something went wrong with the request") done(); - }) + }); }); }); describe("#GET /api/inventory", function(){ it("returns the masters current inventory", function(done){ persistentMaster.get("/api/inventory").end(function(err,res){ assert.equal(res.statusCode, 200); - let inventory - try { - inventory = JSON.parse(res.text); - } catch (e){ - assert(!e); - } + let inventory = JSON.parse(res.text); assert.equal(typeof inventory, "object", "Inventory should be an object"); assert(inventory.length >= 1, "There should be at least 1 entry in the inventory"); @@ -113,4 +108,20 @@ describe('Master server endpoint testing', function() { }); }); }); + describe("#POST /api/remove", function(){ + it("returns an itemStack of how many items were removed", function(done){ + persistentMaster.post("/api/remove") + .send({ + name:"steel-plate", + count:10 + }) + .end(function(err,res){ + assert(!err); + assert.equal(res.text, '{"name":"steel-plate","count":10,"instanceID":"unknown","instanceName":"unknown"}', "Something is wrong with the response, maybe the format changed slightly or you didn't have enough steel?"); + + done(); + }); + }); + + }); });