2022-08-30 16:06:57 -08:00
|
|
|
import { describe, expect, it } from 'vitest';
|
2022-09-04 16:55:52 -08:00
|
|
|
import { route } from '.';
|
2022-08-30 16:06:57 -08:00
|
|
|
|
|
|
|
describe('UrlBuilder', () => {
|
2022-09-04 16:55:52 -08:00
|
|
|
it('basic query parameter', () => {
|
|
|
|
const result = route('/test', { a: 'b' });
|
|
|
|
expect(result).toBe('/api/v1/test?a=b');
|
|
|
|
});
|
2022-08-30 16:06:57 -08:00
|
|
|
|
2022-09-04 16:55:52 -08:00
|
|
|
it('multiple query parameters', () => {
|
|
|
|
const result = route('/test', { a: 'b', c: 'd' });
|
|
|
|
expect(result).toBe('/api/v1/test?a=b&c=d');
|
|
|
|
});
|
2022-08-30 16:06:57 -08:00
|
|
|
|
2022-09-04 16:55:52 -08:00
|
|
|
it('no query parameters', () => {
|
|
|
|
const result = route('/test');
|
|
|
|
expect(result).toBe('/api/v1/test');
|
|
|
|
});
|
2022-08-30 16:06:57 -08:00
|
|
|
|
2022-09-04 16:55:52 -08:00
|
|
|
it('list-like query parameters', () => {
|
|
|
|
const result = route('/test', { a: ['b', 'c'] });
|
|
|
|
expect(result).toBe('/api/v1/test?a=b&a=c');
|
|
|
|
});
|
2022-08-30 16:06:57 -08:00
|
|
|
});
|