diff --git a/CHANGELOG.md b/CHANGELOG.md index 89c8f0b6eea0642b5fa8edd1d6c6506c93cc553d..2fbcc9883cba27a01a0394b5088e5b4aff545d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 1.1.8 - 30-01-2020 +### Added +- Route to assign users to forms #60 (Richard Heise) +## Changed +- Route to write a form now has an extra stage in the waterfall +- THis stage assigns the user to a form by ID + ## 1.1.7 - 29-01-2020 ### Added - Function to assign users to forms #54 (Gianfranco) diff --git a/package.json b/package.json index 334ecc3d10b0fdd4c719c715e6dd23d8a2f51185..c65f3c2699828491f5116943612da5ff2e0892b7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "form-creator-api", - "version": "1.1.7", + "version": "1.1.8", "description": "RESTful API used to manage and answer forms.", "main": "index.js", "scripts": { diff --git a/src/api/controllers/form.spec.ts b/src/api/controllers/form.spec.ts index 5db2e01bb1bf701cdb2d1aadb308d39c21d7ed2d..de86a1a42afad955519a5ea341215d7199bff0e8 100644 --- a/src/api/controllers/form.spec.ts +++ b/src/api/controllers/form.spec.ts @@ -55,39 +55,42 @@ before(function (done): void { export let testToken: string; -it ("Should respond 200 when signing up a valid user", (done) => { - request(server) - .post("/user/signUp") - .send({ - name: "Test_name" - , email: "test_email@test.com" - , hash: "Test_pw" - }) - .expect(200) - .expect((res: any) => { - expect(res.body).to.be.an("object"); - expect(res.body.message).to.be.an("string"); - expect(res.body.message).to.be.equal("User registered with sucess."); - }) - .end(done); -}); +describe("Initial test User", () => { + it ("Should respond 200 when signing up a valid user", (done) => { + request(server) + .post("/user/signUp") + .send({ + name: "Test_name" + , email: "test_email@test.com" + , hash: "Test_pw" + }) + .expect(200) + .expect((res: any) => { + expect(res.body).to.be.an("object"); + expect(res.body.message).to.be.an("string"); + expect(res.body.message).to.be.equal("User registered with sucess."); + }) + .end(done); + }); + + it("Should respond 200 when validating an user signIn", (done) => { + request(server) + .post("/user/signIn") + .send({ + email: "test_email@test.com" + , hash: "Test_pw" + }) + .expect(200) + .expect((res: any) => { + expect(res.body).to.be.an("object"); + expect(res.body.message).to.be.an("string"); + expect(res.body.message).to.be.equal("Authentication successful."); + testToken = res.body.token; + }) + .end(done); + }); +}) -it("Should respond 200 when validating an user signIn", (done) => { - request(server) - .post("/user/signIn") - .send({ - email: "test_email@test.com" - , hash: "Test_pw" - }) - .expect(200) - .expect((res: any) => { - expect(res.body).to.be.an("object"); - expect(res.body.message).to.be.an("string"); - expect(res.body.message).to.be.equal("Authentication successful."); - testToken = res.body.token; - }) - .end(done); -}); describe("API data controller - form", () => { it("should respond 200 when getting a list of forms", (done) => { diff --git a/src/api/controllers/form.ts b/src/api/controllers/form.ts index c8576b12d342115b67e0981594a4284fac23111a..6a359205625f47e27603686293a780cc1e8737f3 100644 --- a/src/api/controllers/form.ts +++ b/src/api/controllers/form.ts @@ -96,12 +96,30 @@ export class FormCtrl { callback(null, formUpdate); }); }, - (formUpdate: FormUpdate, callback: (err: Error, formId: number) => void) => { + (formUpdate: FormUpdate, callback: (err: Error, formId?: number) => void) => { req.db.form.update(formUpdate, (err: Error) => { - callback(err, formUpdate.form.id); + + if (err) { + callback(err); + return; + } + + callback(null, formUpdate.form.id); + }); + }, + (formId: number, callback: (err: Error) => void) => { + /** req.userData has to be parsed into an object so we can get its ID */ + req.db.user.assign(Object(req.userData).id, formId, (err: Error) => { + + if (err) { + callback(err); + return; + } + + callback(null); }); } - ], (err, resultId) => { + ], (err) => { if (err) { res.status(500).json({ message: "Could not insert form. Some error has occurred. Check error property for details." @@ -111,8 +129,7 @@ export class FormCtrl { } res.json({ - id: resultId - , message: "Form added. Id on key 'id'" + message: "Form added." }); return; });