diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..bea32a4 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [ "es2015" ] +} diff --git a/api/controllers/meetings.js b/api/controllers/meetings.js index 8c00aa1..d60f067 100644 --- a/api/controllers/meetings.js +++ b/api/controllers/meetings.js @@ -3,10 +3,14 @@ var Promise = require('bluebird'); const util = require('util'); const apiwrap = require('./apibase').apiwrap; var dbservice = require('../service/dbService'); +var expect = require('chai').expect; +var should = require('should'); +var request = require('supertest'); + module.exports = { getAllMeetings: apiwrap((req, res) => { - dbservice.Meeting.getMeetings(req.start,req.limit).then(function(data){ + dbservice.Meeting.getMeetings(0,1000).then(function(data){ res.json(200, { meetings: data, }); @@ -14,35 +18,43 @@ module.exports = { }), getMeeting: apiwrap((req, res) => { - dbservice.Meeting.getMeetingByMid(req.mid).then(function(data){ + var array = req.path.split("/"); + var stringOfId = array[array.length-1]; + dbservice.Meeting.getMeetingByMid(parseInt(stringOfId)).then(function(data){ + res.json(200, { - meeting: data.get('mid'), + meeting: data,//.get('mid'), }); }) }), createMeeting: apiwrap((req, res) => { - dbservice.Meeting.createMeeting(req.title, req.note, req.start_time, req.end_time, req.rid).then(function(data){ + dbservice.Meeting.createMeeting(req.body.title, req.body.note, new Date(req.body.start_time), new Date(req.body.end_time), parseInt(req.body.room_id)).then(function(data){ res.json(200, { message: 'mid:'+data.get('mid'), }); }) }), - +//parseInt(req.body.id) deleteMeeting: apiwrap((req, res) => { - dbservice.Meeting.deleteMeeting(req.mid).then(function(data){ - res.json(200, { - message:'successfuly delete '+data, - }); + var array = req.path.split("/"); + var stringOfId = array[array.length-1]; + dbservice.Meeting.deleteMeeting(parseInt(stringOfId)).then(function(data){ + if(data == false){ + res.json(200, { + message:'meeting don'+"'"+'t exit!', + }); + } + else{ + res.json(200, { + message:'successfuly delete', + }); + } }) }), - getMeetingSuggestions: apiwrap((req, res) => { + getMeetingSuggestions: apiwrap((req, res, uid) => { - res.json(200, { - hellow: 'world', - }); - }) }; \ No newline at end of file diff --git a/test/api/controllers/meeting_test.js b/test/api/controllers/meeting_test.js new file mode 100644 index 0000000..9f97508 --- /dev/null +++ b/test/api/controllers/meeting_test.js @@ -0,0 +1,130 @@ +var should = require('should'); +var request = require('supertest'); +var server = require('../../../app'); +var expect = require('chai').expect; +var meeting = require('../../../api/controllers/meetings.js'); + +describe('controllers', function() { + + describe('meetingTest', function() { + + describe('GET /getAllMeetings', function() { + + it('should return a object', function() { + + request(server) + .get('/getAllMeetings') + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + //should.not.exist(err); + expect(res.body).to.eql('object'); + + //res.body.should.eql('Hello, stranger!'); + }); + }); + + }); + + + describe('GET /getMeeting', function() { + + it('should return a object', function() { + + request(server) + .get('/getMeeting') + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + expect(res.body).to.be.an('object'); + + //res.body.should.eql('Hello, stranger!'); + }); + }); + it('should accept a mid parameter', function() { + + request(server) + .get('/getMeeting') + .query({ mid: '220'}) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + + expect(res.body).to.be.an('object'); + + }); + }); + + }); + + describe('POST /createMeeting', function() { + + it('should return a string', function() { + + request(server) + .get('/createMeeting') + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + expect(res.body).to.be.an('object'); + }); + }); + it('should accept 5 parameters', function() { + + request(server) + .get('/createMeeting') + .query({ mid: '220'}) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + + expect(res.body).to.be.an('object'); + + }); + }); + + }); + + describe('DELETE /deleteMeeting', function() { + + it('should return a string', function() { + + request(server) + .get('/deleteMeeting') + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + expect(res.body).to.be.an('object'); + }); + }); + it('should accept a mid parameter', function() { + + request(server) + .get('/deleteMeeting') + .query({ mid: '221'}) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .end(function(err, res) { + should.not.exist(err); + + expect(res.body).to.be.an('object'); + + }); + }); + + }); + + }); +}); \ No newline at end of file