added reducers tests
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
import { loadDashboardPermissions } from './actions';
|
||||
import { OrgRole, PermissionLevel, DashboardState } from 'app/types';
|
||||
import {
|
||||
loadDashboardPermissions,
|
||||
dashboardInitFetching,
|
||||
dashboardInitCompleted,
|
||||
dashboardInitFailed,
|
||||
dashboardInitSlow,
|
||||
} from './actions';
|
||||
import { OrgRole, PermissionLevel, DashboardState, DashboardInitPhase } from 'app/types';
|
||||
import { initialState, dashboardReducer } from './reducers';
|
||||
import { DashboardModel } from './DashboardModel';
|
||||
|
||||
describe('dashboard reducer', () => {
|
||||
describe('loadDashboardPermissions', () => {
|
||||
@@ -18,4 +25,47 @@ describe('dashboard reducer', () => {
|
||||
expect(state.permissions.length).toBe(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('dashboardInitCompleted', () => {
|
||||
let state: DashboardState;
|
||||
|
||||
beforeEach(() => {
|
||||
state = dashboardReducer(initialState, dashboardInitFetching());
|
||||
state = dashboardReducer(state, dashboardInitSlow());
|
||||
state = dashboardReducer(state, dashboardInitCompleted(new DashboardModel({ title: 'My dashboard' })));
|
||||
});
|
||||
|
||||
it('should set model', async () => {
|
||||
expect(state.model.title).toBe('My dashboard');
|
||||
});
|
||||
|
||||
it('should set reset isInitSlow', async () => {
|
||||
expect(state.isInitSlow).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('dashboardInitFailed', () => {
|
||||
let state: DashboardState;
|
||||
|
||||
beforeEach(() => {
|
||||
state = dashboardReducer(initialState, dashboardInitFetching());
|
||||
state = dashboardReducer(state, dashboardInitFailed({message: 'Oh no', error: 'sad'}));
|
||||
});
|
||||
|
||||
it('should set model', async () => {
|
||||
expect(state.model.title).toBe('Dashboard init failed');
|
||||
});
|
||||
|
||||
it('should set reset isInitSlow', async () => {
|
||||
expect(state.isInitSlow).toBe(false);
|
||||
});
|
||||
|
||||
it('should set initError', async () => {
|
||||
expect(state.initError.message).toBe('Oh no');
|
||||
});
|
||||
|
||||
it('should set phase failed', async () => {
|
||||
expect(state.initPhase).toBe(DashboardInitPhase.Failed);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { DashboardAcl } from './acl';
|
||||
|
||||
export interface MutableDashboard {
|
||||
title: string;
|
||||
meta: DashboardMeta;
|
||||
destroy: () => void;
|
||||
}
|
||||
@@ -27,7 +28,7 @@ export interface DashboardMeta {
|
||||
focusPanelId?: boolean;
|
||||
isStarred?: boolean;
|
||||
showSettings?: boolean;
|
||||
expires: string;
|
||||
expires?: string;
|
||||
isSnapshot?: boolean;
|
||||
folderTitle?: string;
|
||||
folderUrl?: string;
|
||||
|
||||
Reference in New Issue
Block a user