updatePost.test.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var chai = require('chai')
  2. , expect = chai.expect
  3. , sinon = require('sinon')
  4. , sinonChai = require('sinon-chai')
  5. , Promise = require('bluebird')
  6. , utils = require('../utils.js')
  7. ;
  8. chai.use(sinonChai);
  9. describe('UpdatePost', function () {
  10. var UpdatePost = utils.models.UpdatePost,
  11. conn = utils.mongoose.connection;
  12. describe('.createPrefixesByPathPattern', function () {
  13. context('with a path', function() {
  14. it('should return right patternPrfixes', function(done) {
  15. expect(UpdatePost.createPrefixesByPathPattern('/*')).to.deep.equal(['*', '*']);
  16. expect(UpdatePost.createPrefixesByPathPattern('/user/*/日報*')).to.deep.equal(['user', '*']);
  17. expect(UpdatePost.createPrefixesByPathPattern('/project/hoge/*')).to.deep.equal(['project', 'hoge']);
  18. expect(UpdatePost.createPrefixesByPathPattern('/*/MTG/*')).to.deep.equal(['*', 'MTG']);
  19. expect(UpdatePost.createPrefixesByPathPattern('自己紹介')).to.deep.equal(['*', '*']);
  20. expect(UpdatePost.createPrefixesByPathPattern('/user/aoi/メモ/2016/02/10/xxx')).to.deep.equal(['user', 'aoi']);
  21. done();
  22. });
  23. });
  24. });
  25. describe('.getRegExpByPattern', function () {
  26. context('with a pattern', function() {
  27. it('should return right regexp', function(done) {
  28. expect(UpdatePost.getRegExpByPattern('/*')).to.deep.equal(/^\/.*/);
  29. expect(UpdatePost.getRegExpByPattern('/user/*/日報*')).to.deep.equal(/^\/user\/.*\/日報.*/);
  30. expect(UpdatePost.getRegExpByPattern('/project/hoge/*')).to.deep.equal(/^\/project\/hoge\/.*/);
  31. expect(UpdatePost.getRegExpByPattern('/*/MTG/*')).to.deep.equal(/^\/.*\/MTG\/.*/);
  32. expect(UpdatePost.getRegExpByPattern('自己紹介')).to.deep.equal(/^\/.*自己紹介.*/);
  33. expect(UpdatePost.getRegExpByPattern('\/user\/aoi\/メモ\/2016\/02\/10\/xxx')).to.deep.equal(/^\/user\/aoi\/メモ\/2016\/02\/10\/xxx/);
  34. done();
  35. });
  36. });
  37. });
  38. describe('.normalizeChannelName', function () {
  39. context('with a channel name', function() {
  40. it('should return true', function(done) {
  41. expect(UpdatePost.normalizeChannelName('#pj-hoge')).to.be.equal('pj-hoge');
  42. expect(UpdatePost.normalizeChannelName('pj-hoge')).to.be.equal('pj-hoge');
  43. done();
  44. });
  45. });
  46. });
  47. });