crowi.test.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. var chai = require('chai')
  2. , expect = chai.expect
  3. , sinon = require('sinon')
  4. , sinonChai = require('sinon-chai')
  5. , proxyquire = require('proxyquire')
  6. , path = require('path')
  7. , Promise = require('bluebird')
  8. ;
  9. chai.use(sinonChai);
  10. describe('Test for Crowi application context', function () {
  11. var Crowi = require('../../lib/crowi')
  12. , mongoose = require('mongoose')
  13. ;
  14. describe('construction', function() {
  15. it('initialize crowi context', function() {
  16. var crowi = new Crowi(path.normalize(__dirname + '/../../'), process.env);
  17. expect(crowi).to.be.instanceof(Crowi);
  18. expect(crowi.version).to.equal(require('../../package.json').version);
  19. expect(crowi.env).to.be.an('Object');
  20. });
  21. it('config getter, setter', function() {
  22. var crowi = new Crowi(path.normalize(__dirname + '/../../'), process.env);
  23. expect(crowi.getConfig()).to.deep.equals({});
  24. crowi.setConfig({test: 1});
  25. expect(crowi.getConfig()).to.deep.equals({test: 1});
  26. });
  27. it('model getter, setter', function() {
  28. var crowi = new Crowi(path.normalize(__dirname + '/../../'), process.env);
  29. // set
  30. crowi.model('hoge', { fuga: 1 });
  31. expect(crowi.model('hoge')).to.deep.equals({ fuga: 1 });
  32. });
  33. });
  34. describe('.setupDatabase', function() {
  35. it('setup completed', function(done) {
  36. var crowi = new Crowi(path.normalize(__dirname + '/../../'), process.env);
  37. // set
  38. var p = crowi.setupDatabase()
  39. expect(p).to.instanceof(Promise);
  40. p.then(function() {
  41. expect(mongoose.connection.readyState).to.equals(1);
  42. done();
  43. }).catch(function() {
  44. expect(mongoose.connection.readyState).to.equals(1);
  45. done();
  46. });
  47. });
  48. });
  49. });