jsOMS/tests/Uri/UriFactoryTest.js
Dennis Eichhorn c7a9ddb926 fix tests
2024-04-24 16:23:32 +00:00

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);
});
});
});