get.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. process.env.NODE_ENV = 'test';
  2. const sqlite3 = require('sqlite3').verbose();
  3. const db = new sqlite3.Database('./db/data.db');
  4. const config = require('../config');
  5. let server = require('../app');
  6. let chai = require('chai');
  7. let chaiHttp = require('chai-http');
  8. const {
  9. expect
  10. } = require('chai');
  11. let should = chai.should();
  12. chai.use(chaiHttp);
  13. describe('Get.js', () => {
  14. beforeEach((done) => { //Before each test we empty the database
  15. db.run(`DELETE FROM calls WHERE 1`, function(err) {
  16. if (err) return console.log(err.message);
  17. });
  18. db.run(`INSERT INTO calls(itsfrom, itsto, callSid, digits, status, date, user, service) VALUES(?, ?, ?, ?, ?, ?, ?, ?)`, ['33123456789', '33123456789', 'fakecallsid', '123456', 'test', 'testdate', 'test', 'default'], function(err) {
  19. if (err) {
  20. return console.log(err.message);
  21. }
  22. done();
  23. });
  24. });
  25. /*
  26. * Test the /GET route
  27. */
  28. describe('/get POST', () => {
  29. it('it should return "Invalid callSid." : we are not sending any callSid', (done) => {
  30. chai.request(server)
  31. .post('/get')
  32. .set('content-type', 'application/x-www-form-urlencoded')
  33. .send({
  34. password: config.apipassword
  35. })
  36. .end((err, res) => {
  37. res.should.have.status(200);
  38. res.should.to.be.json;
  39. res.body.should.have.property('error').eql('Invalid callSid.');
  40. done();
  41. });
  42. });
  43. it('it should return "Invalid callSid." : we are sending a bad callSid', (done) => {
  44. chai.request(server)
  45. .post('/get')
  46. .set('content-type', 'application/x-www-form-urlencoded')
  47. .send({
  48. password: config.apipassword,
  49. callSid: 'badcallSid'
  50. })
  51. .end((err, res) => {
  52. res.should.have.status(200);
  53. res.should.to.be.json;
  54. res.body.should.have.property('error').eql('Invalid callSid.');
  55. done();
  56. });
  57. });
  58. it('it should return the call info\'s : we are sending a good callSid', (done) => {
  59. chai.request(server)
  60. .post('/get')
  61. .set('content-type', 'application/x-www-form-urlencoded')
  62. .send({
  63. password: config.apipassword,
  64. callSid: 'fakecallsid'
  65. })
  66. .end((err, res) => {
  67. res.should.have.status(200);
  68. res.should.to.be.json;
  69. res.body.should.have.property('itsfrom').eql('33123456789');
  70. res.body.should.have.property('itsto').eql('33123456789');
  71. res.body.should.have.property('callSid').eql('fakecallsid');
  72. res.body.should.have.property('digits').eql('123456');
  73. res.body.should.have.property('status').eql('test');
  74. res.body.should.have.property('date').eql('testdate');
  75. res.body.should.have.property('user').eql('test');
  76. res.body.should.have.property('service').eql('default');
  77. done();
  78. });
  79. });
  80. });
  81. });