Guest User

Untitled

a guest
Nov 5th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. var mongoose = require('mongoose');
  2. var Schema = mongoose.Schema;
  3.  
  4. var AuthSchema = Schema({
  5. id: String,
  6. user: String,
  7. password: String,
  8. origin: String,
  9. });
  10.  
  11. //Export model
  12. module.exports = mongoose.model('user', AuthSchema);
  13.  
  14. const chai = require('chai');
  15. const should = chai.should;
  16. const expect = chai.expect;
  17. const assert = chai.assert;
  18. / Node Http Mocks
  19. var httpMocks = require('node-mocks-http');
  20.  
  21. var util = require('util'),
  22. express = require('express'),
  23. bodyParser = require('body-parser'),
  24. validator = require('express-validator'),
  25. app = express();
  26.  
  27. var authController = require('../controllers/auth');
  28.  
  29. describe("Test AUTH Calls ", function() {
  30. var mongoHost = 'mongodb://localhost:27017/testingDB';
  31.  
  32. // model
  33. var authModel = require('../models/auth.js');
  34.  
  35. var Mongoose = require('mongoose').Mongoose;
  36. var mongoose = new Mongoose();
  37.  
  38. var Mockgoose = require('mockgoose').Mockgoose;
  39. var mockgoose = new Mockgoose(mongoose);
  40.  
  41. // Generate a v1 UUID (time-based)
  42. const uuidV1 = require('uuid/v1');
  43.  
  44. before(function(done) {
  45. mockgoose.prepareStorage().then(function() {
  46. mongoose.Promise = global.Promise;
  47. mongoose.connect(mongoHost, {
  48. keepAlive: true,
  49. reconnectTries: Number.MAX_VALUE,
  50. useMongoClient: true
  51. },function(err) {
  52. done(err);
  53. });
  54. mongoose.connection.on('connected', function(err) {
  55. if (err) {
  56. console.log('Error on DB Connection: ', err);
  57. } else {
  58. console.log('Db Connection opened!');
  59. }
  60.  
  61. });
  62. });
  63. });
  64.  
  65. it("should warn that the user already exists", function(done) {
  66. var req = httpMocks.createRequest({
  67. method: 'GET',
  68. url: '/signup',
  69. body: {
  70. 'username': 'tricky',
  71. 'password': 'frasier'
  72. }
  73. });
  74. var res = httpMocks.createResponse();
  75.  
  76.  
  77. var userModel = new authModel({
  78. id: uuidV1(),
  79. username: req.body.username,
  80. password: req.body.password
  81. });
  82.  
  83. userModel.save(function(err) {
  84. if (err) {
  85. console.log('Error while registering a user.', err.name);
  86. } else {
  87. console.log('User saved successfully.');
  88. }
  89. });
  90.  
  91. var userN = req.body.username;
  92.  
  93. // Check if already exists
  94. var myUser = null;
  95. authModel.findOne({
  96. username: userN,
  97. }, function(err, user) {
  98. if (err) {
  99. console.log('Error while verifying a user.', err.name);
  100. }
  101. if (user) {
  102. console.log('User exists.');
  103. myUser = user;
  104. }
  105.  
  106. });
  107.  
  108. authController.signup(req, res); // Will fail on user existing
  109. assert.equal(res.statusCode, 401);
  110. done();
  111. });
  112.  
  113. });
Add Comment
Please, Sign In to add comment