update-post.test.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import UpdatePost from '../../../src/server/models/update-post';
  2. describe('UpdatePost', () => {
  3. describe('.createPrefixesByPathPattern', () => {
  4. describe('with a path', () => {
  5. test('should return right patternPrfixes', () => {
  6. expect(UpdatePost.createPrefixesByPathPattern('/*')).toEqual(['*', '*']);
  7. expect(UpdatePost.createPrefixesByPathPattern('/user/*/日報*')).toEqual(['user', '*']);
  8. expect(UpdatePost.createPrefixesByPathPattern('/project/hoge/*')).toEqual(['project', 'hoge']);
  9. expect(UpdatePost.createPrefixesByPathPattern('/*/MTG/*')).toEqual(['*', 'MTG']);
  10. expect(UpdatePost.createPrefixesByPathPattern('自己紹介')).toEqual(['*', '*']);
  11. expect(UpdatePost.createPrefixesByPathPattern('/user/aoi/メモ/2016/02/10/xxx')).toEqual(['user', 'aoi']);
  12. });
  13. });
  14. });
  15. describe('.getRegExpByPattern', () => {
  16. describe('with a pattern', () => {
  17. test('should return right regexp', () => {
  18. expect(UpdatePost.getRegExpByPattern('/*')).toEqual(/^\/.*/);
  19. expect(UpdatePost.getRegExpByPattern('/user/*/日報*')).toEqual(/^\/user\/.*\/日報.*/);
  20. expect(UpdatePost.getRegExpByPattern('/project/hoge/*')).toEqual(/^\/project\/hoge\/.*/);
  21. expect(UpdatePost.getRegExpByPattern('/*/MTG/*')).toEqual(/^\/.*\/MTG\/.*/);
  22. expect(UpdatePost.getRegExpByPattern('自己紹介')).toEqual(/^\/.*自己紹介.*/);
  23. expect(UpdatePost.getRegExpByPattern('/user/aoi/メモ/2016/02/10/xxx')).toEqual(/^\/user\/aoi\/メモ\/2016\/02\/10\/xxx/);
  24. });
  25. });
  26. });
  27. describe('.normalizeChannelName', () => {
  28. describe('with a channel name', () => {
  29. test('should return true', () => {
  30. expect(UpdatePost.normalizeChannelName('#pj-hoge')).toEqual('pj-hoge');
  31. expect(UpdatePost.normalizeChannelName('pj-hoge')).toEqual('pj-hoge');
  32. });
  33. });
  34. });
  35. });