Files
grafana/public/app/stores/ViewStore/ViewStore.test.ts
Tobias Skarhed a65589a5fb Rename test files
2018-08-14 10:52:41 +02:00

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