grafana/public/app/features/org/state/reducers.test.ts
Josh Hunt 3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

53 lines
1.8 KiB
TypeScript

import { reducerTester } from '../../../../test/core/redux/reducerTester';
import { OrganizationState, OrgRole } from '../../../types';
import {
initialState,
organizationLoaded,
organizationReducer,
userOrganizationsLoaded,
setOrganizationName,
} from './reducers';
describe('organizationReducer', () => {
describe('when organizationLoaded is dispatched', () => {
it('then state should be correct', () => {
reducerTester<OrganizationState>()
.givenReducer(organizationReducer, { ...initialState })
.whenActionIsDispatched(organizationLoaded({ id: 1, name: 'An org' }))
.thenStateShouldEqual({
organization: { id: 1, name: 'An org' },
userOrgs: [],
});
});
});
describe('when setOrganizationName is dispatched', () => {
it('then state should be correct', () => {
reducerTester<OrganizationState>()
.givenReducer(organizationReducer, { ...initialState, organization: { id: 1, name: 'An org' } })
.whenActionIsDispatched(setOrganizationName('New Name'))
.thenStateShouldEqual({
organization: { id: 1, name: 'New Name' },
userOrgs: [],
});
});
});
describe('when userOrganizationsLoaded is dispatched', () => {
it('then state should be correct', () => {
reducerTester<OrganizationState>()
.givenReducer(organizationReducer, {
...initialState,
organization: { id: 1, name: 'An org' },
userOrgs: [],
})
.whenActionIsDispatched(userOrganizationsLoaded([{ orgId: 1, name: 'New org', role: OrgRole.Editor }]))
.thenStateShouldEqual({
organization: { id: 1, name: 'An org' },
userOrgs: [{ orgId: 1, name: 'New org', role: OrgRole.Editor }],
});
});
});
});