mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-19 05:58:01 +08:00
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { isValidQueryParams } from '../../src/core/lbug/query-params.js';
|
|
|
|
describe('isValidQueryParams', () => {
|
|
it('accepts plain objects', () => {
|
|
expect(isValidQueryParams({})).toBe(true);
|
|
expect(isValidQueryParams({ name: 'main', limit: 10 })).toBe(true);
|
|
expect(isValidQueryParams({ enabled: true, score: null })).toBe(true);
|
|
expect(isValidQueryParams(Object.create(null))).toBe(true);
|
|
});
|
|
|
|
it('rejects null and arrays', () => {
|
|
expect(isValidQueryParams(null)).toBe(false);
|
|
expect(isValidQueryParams([])).toBe(false);
|
|
});
|
|
|
|
it('rejects primitives', () => {
|
|
expect(isValidQueryParams('x')).toBe(false);
|
|
expect(isValidQueryParams(1)).toBe(false);
|
|
expect(isValidQueryParams(false)).toBe(false);
|
|
expect(isValidQueryParams(undefined)).toBe(false);
|
|
});
|
|
|
|
it('rejects non-plain objects and non-scalar values', () => {
|
|
expect(isValidQueryParams(new Date())).toBe(false);
|
|
expect(isValidQueryParams(new Map())).toBe(false);
|
|
expect(isValidQueryParams({ nested: { value: 1 } })).toBe(false);
|
|
expect(isValidQueryParams({ list: ['x'] })).toBe(false);
|
|
});
|
|
});
|