mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { ViewStore } from './ViewStore';
|
|
import { toJS } from 'mobx';
|
|
|
|
describe('ViewStore', () => {
|
|
let store;
|
|
|
|
beforeAll(() => {
|
|
store = ViewStore.create({
|
|
path: '',
|
|
query: {},
|
|
routeParams: {},
|
|
});
|
|
});
|
|
|
|
it('Can update path and query', () => {
|
|
store.updatePathAndQuery('/hello', { key: 1, otherParam: 'asd' }, { key: 1, otherParam: 'asd' });
|
|
expect(store.path).toBe('/hello');
|
|
expect(store.query.get('key')).toBe(1);
|
|
expect(store.currentUrl).toBe('/hello?key=1&otherParam=asd');
|
|
});
|
|
|
|
it('Query can contain arrays', () => {
|
|
store.updatePathAndQuery('/hello', { values: ['A', 'B'] }, { key: 1, otherParam: 'asd' });
|
|
expect(toJS(store.query.get('values'))).toMatchObject(['A', 'B']);
|
|
expect(store.currentUrl).toBe('/hello?values=A&values=B');
|
|
});
|
|
|
|
it('Query can contain boolean', () => {
|
|
store.updatePathAndQuery('/hello', { abool: true }, { abool: true });
|
|
expect(toJS(store.query.get('abool'))).toBe(true);
|
|
expect(store.currentUrl).toBe('/hello?abool');
|
|
});
|
|
});
|