diff --git a/README.md b/README.md index 78452e6..67f7ac0 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ A small library providing access to traitify's api #### Config ```js var traitify = require('traitify'); - + traitify.setHost("lvh.me"); traitify.setVersion("v1"); traitify.setSecretKey("fakeKey"); @@ -53,12 +53,23 @@ A small library providing access to traitify's api ```js var assessmentId = "Your Assessment Id"; - traitify.setSlide(assessmentId, {"value":true, response_time: 1000}, function(assessment){ + traitify.addSlide(assessmentId, {response: true, response_time: 1000}, function(assessment){ // Use assessment here. console.log(assessment); }); ``` +#### Bulk Set Assessment Slides +```js + var assessmentId = "Your Assessment Id"; + + traitify.addSlides(assessmentId, [{id: "slide-uuid", "response":true, response_time: 1000}], function(assessment){ + // Use assessment here. + console.log(assessment); + }) +``` + + #### Get Assessment Personality Types ```js var assessmentId = "Your Assessment Id"; diff --git a/index.js b/index.js index fc2d9c5..6883c28 100644 --- a/index.js +++ b/index.js @@ -61,6 +61,9 @@ module.exports = { callBack(JSON.parse(responseData)); }); }); + if(params){ + params = JSON.stringify(params) + } request.end(params); }, @@ -78,7 +81,7 @@ module.exports = { }, createAssessment: function(deckId, callBack){ - this.post("/assessments", '{"deck_id":"' + deckId + '"}', callBack); + this.post("/assessments", {deck_id: deckId }, callBack); }, getAssessment: function(assessmentId, callBack){ @@ -88,11 +91,12 @@ module.exports = { getSlides: function(assessmentId, callBack){ this.get("/assessments/" + assessmentId + "/slides", String(), callBack); }, - - setSlide: function(assessmentId, slideId, params, callBack){ + addSlide: function(assessmentId, slideId, params, callBack){ this.put("/assessments/" + assessmentId + "/slides/" + slideId, params, callBack); }, - + addSlides: function(assessmentId, params, callBack){ + this.put("/assessments/" + assessmentId + "/slides", params, callBack); + }, getPersonalityTypes: function(assessmentId, callBack){ this.get("/assessments/" + assessmentId + "/personality_types", String(), callBack); }, @@ -134,5 +138,3 @@ module.exports = { return url; } }; - - diff --git a/test/index.js b/test/index.js index 544caf3..1d818f1 100644 --- a/test/index.js +++ b/test/index.js @@ -86,14 +86,29 @@ describe('#Traitify', function() { }); }); - it("Sets Assessment's Slide", function(done) { + it("Adds Assessment's Slide", function(done) { var responseData = { - "slides":[ - {"caption":"Very Cool"} + slides:[ + {"caption":"Very Cool"} ] }; nockApiHelper("put", "/assessments/fakeAssessmentId/slides/fakeSlideId", responseData, function(){ - traitify.setSlide("fakeAssessmentId", "fakeSlideId", {value: true, responseTime: 1000}, function(data){ + traitify.addSlide("fakeAssessmentId", "fakeSlideId", {value: true, responseTime: 1000}, function(data){ + data.slides[0].caption.should.equal("Very Cool"); + done(); + }); + }); + }); + + it("Adds Assessment's Slides", function(done) { + var responseData = { + "slides":[ + {"caption":"Very Cool"} + + ] + }; + nockApiHelper("put", "/assessments/fakeAssessmentId/slides", responseData, function(){ + traitify.addSlides("fakeAssessmentId", {value: true, responseTime: 1000}, function(data){ data.slides[0].caption.should.equal("Very Cool"); done(); });