mirror of
https://github.com/Karaka-Management/jsOMS.git
synced 2026-01-11 01:48:40 +00:00
82 lines
3.0 KiB
JavaScript
Executable File
82 lines
3.0 KiB
JavaScript
Executable File
import { UriFactory } from '../../Uri/UriFactory.js';
|
|
|
|
describe('UriFactoryTest', function ()
|
|
{
|
|
'use strict';
|
|
|
|
if (typeof window === 'undefined') {
|
|
var window = { location: {} };
|
|
}
|
|
|
|
describe('testDefault', function ()
|
|
{
|
|
it('Testing default functionality', function ()
|
|
{
|
|
expect(UriFactory.getQuery('Invalid')).toBe(null);
|
|
});
|
|
});
|
|
|
|
describe('testSetGet', function ()
|
|
{
|
|
it('Testing query setting', function ()
|
|
{
|
|
expect(UriFactory.setQuery('Valid', 'query1')).toBeTruthy();
|
|
expect(UriFactory.getQuery('Valid')).toBe('query1');
|
|
|
|
expect(UriFactory.setQuery('Valid', 'query2', true)).toBeTruthy();
|
|
expect(UriFactory.getQuery('Valid')).toBe('query2');
|
|
|
|
expect(UriFactory.setQuery('Valid', 'query3', false)).toBeFalsy();
|
|
expect(UriFactory.getQuery('Valid')).toBe('query2');
|
|
|
|
expect(UriFactory.setQuery('/valid2', 'query4')).toBeTruthy();
|
|
expect(UriFactory.getQuery('/valid2')).toBe('query4');
|
|
});
|
|
});
|
|
|
|
describe('testClearing', function ()
|
|
{
|
|
it('Testing query clearing', function ()
|
|
{
|
|
UriFactory.setQuery('Valid', 'query1');
|
|
UriFactory.setQuery('Valid', 'query2', true);
|
|
UriFactory.setQuery('Valid', 'query3', false);
|
|
UriFactory.setQuery('/valid2', 'query4');
|
|
|
|
expect(UriFactory.clear('Valid')).toBeTruthy();
|
|
expect(UriFactory.clear('Valid')).toBeFalsy();
|
|
expect(UriFactory.getQuery('Valid')).toBe(null);
|
|
expect(UriFactory.getQuery('/valid2')).toBe('query4');
|
|
|
|
expect(UriFactory.clearAll()).toBeTruthy();
|
|
expect(UriFactory.getQuery('/valid2')).toBe(null);
|
|
|
|
expect(UriFactory.setQuery('/abc', 'query1')).toBeTruthy();
|
|
expect(UriFactory.setQuery('/valid2', 'query2')).toBeTruthy();
|
|
expect(UriFactory.setQuery('/valid3', 'query3')).toBeTruthy();
|
|
expect(UriFactory.clearLike('^d+$')).toBeFalsy();
|
|
expect(UriFactory.clearLike('\/[a-z]*\d')).toBeTruthy();
|
|
expect(UriFactory.getQuery('/valid2')).toBe(null);
|
|
expect(UriFactory.getQuery('/valid3')).toBe(null);
|
|
expect(UriFactory.getQuery('/abc')).toBe('query1');
|
|
});
|
|
});
|
|
|
|
describe('testBuilder', function ()
|
|
{
|
|
it('Testing global queries', function ()
|
|
{
|
|
let uri = 'www.test-uri.com?id={@ID}&test={.mTest}&two={/path}&hash={#hash}&found={/not}?v={/valid2}',
|
|
vars = {
|
|
'@ID' : 1,
|
|
'.mTest': 'someString',
|
|
'/path' : 'PATH',
|
|
'#hash' : 'test',
|
|
},
|
|
expected = 'www.test-uri.com?id=1&test=someString&two=PATH&hash=test&found=ERROR%20PATH&v=query4';
|
|
|
|
expect(UriFactory.setQuery('/valid2', 'query4')).toBeTruthy();
|
|
expect(UriFactory.build(uri, vars)).toBe(expected);
|
|
});
|
|
});
|
|
}); |