link_srv.jest.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { LinkSrv } from '../link_srv';
  2. import _ from 'lodash';
  3. jest.mock('angular', () => {
  4. let AngularJSMock = require('test/mocks/angular');
  5. return new AngularJSMock();
  6. });
  7. describe('linkSrv', function() {
  8. var linkSrv;
  9. var templateSrvMock = {};
  10. var timeSrvMock = {};
  11. beforeEach(() => {
  12. linkSrv = new LinkSrv(templateSrvMock, timeSrvMock);
  13. });
  14. describe('when appending query strings', function() {
  15. it('add ? to URL if not present', function() {
  16. var url = linkSrv.appendToQueryString('http://example.com', 'foo=bar');
  17. expect(url).toBe('http://example.com?foo=bar');
  18. });
  19. it('do not add & to URL if ? is present but query string is empty', function() {
  20. var url = linkSrv.appendToQueryString('http://example.com?', 'foo=bar');
  21. expect(url).toBe('http://example.com?foo=bar');
  22. });
  23. it('add & to URL if query string is present', function() {
  24. var url = linkSrv.appendToQueryString('http://example.com?foo=bar', 'hello=world');
  25. expect(url).toBe('http://example.com?foo=bar&hello=world');
  26. });
  27. it('do not change the URL if there is nothing to append', function() {
  28. _.each(['', undefined, null], function(toAppend) {
  29. var url1 = linkSrv.appendToQueryString('http://example.com', toAppend);
  30. expect(url1).toBe('http://example.com');
  31. var url2 = linkSrv.appendToQueryString('http://example.com?', toAppend);
  32. expect(url2).toBe('http://example.com?');
  33. var url3 = linkSrv.appendToQueryString('http://example.com?foo=bar', toAppend);
  34. expect(url3).toBe('http://example.com?foo=bar');
  35. });
  36. });
  37. });
  38. });