mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-08 06:25:45 +01:00
use reflow to migrate from flow to typescript
This commit is contained in:
72
scm-ui/ui-components/src/urls.test.ts
Normal file
72
scm-ui/ui-components/src/urls.test.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
import {
|
||||
concat,
|
||||
getPageFromMatch,
|
||||
getQueryStringFromLocation,
|
||||
withEndingSlash,
|
||||
} from './urls';
|
||||
|
||||
describe('tests for withEndingSlash', () => {
|
||||
it('should append missing slash', () => {
|
||||
expect(withEndingSlash('abc')).toBe('abc/');
|
||||
});
|
||||
|
||||
it('should not append a second slash', () => {
|
||||
expect(withEndingSlash('abc/')).toBe('abc/');
|
||||
});
|
||||
});
|
||||
|
||||
describe('concat tests', () => {
|
||||
it('should concat the parts to a single url', () => {
|
||||
expect(concat('a')).toBe('a');
|
||||
expect(concat('a', 'b')).toBe('a/b');
|
||||
expect(concat('a', 'b', 'c')).toBe('a/b/c');
|
||||
});
|
||||
});
|
||||
|
||||
describe('tests for getPageFromMatch', () => {
|
||||
function createMatch(page: string) {
|
||||
return {
|
||||
params: {
|
||||
page,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
it('should return 1 for NaN', () => {
|
||||
const match = createMatch('any');
|
||||
expect(getPageFromMatch(match)).toBe(1);
|
||||
});
|
||||
|
||||
it('should return 1 for 0', () => {
|
||||
const match = createMatch('0');
|
||||
expect(getPageFromMatch(match)).toBe(1);
|
||||
});
|
||||
|
||||
it('should return the given number', () => {
|
||||
const match = createMatch('42');
|
||||
expect(getPageFromMatch(match)).toBe(42);
|
||||
});
|
||||
});
|
||||
|
||||
describe('tests for getQueryStringFromLocation', () => {
|
||||
function createLocation(search: string) {
|
||||
return {
|
||||
search,
|
||||
};
|
||||
}
|
||||
|
||||
it('should return the query string', () => {
|
||||
const location = createLocation('?q=abc');
|
||||
expect(getQueryStringFromLocation(location)).toBe('abc');
|
||||
});
|
||||
|
||||
it('should return query string from multiple parameters', () => {
|
||||
const location = createLocation('?x=a&y=b&q=abc&z=c');
|
||||
expect(getQueryStringFromLocation(location)).toBe('abc');
|
||||
});
|
||||
|
||||
it('should return undefined if q is not available', () => {
|
||||
const location = createLocation('?x=a&y=b&z=c');
|
||||
expect(getQueryStringFromLocation(location)).toBeUndefined();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user