diff --git a/public/app/core/redux/actionCreatorFactory.test.ts b/public/app/core/redux/actionCreatorFactory.test.ts index 18ba6915368..96464354411 100644 --- a/public/app/core/redux/actionCreatorFactory.test.ts +++ b/public/app/core/redux/actionCreatorFactory.test.ts @@ -46,7 +46,7 @@ describe('actionCreatorFactory', () => { setup(payload); expect(() => { - actionCreatorFactory('dummy').create(); + actionCreatorFactory('DuMmY').create(); }).toThrow(); }); }); diff --git a/public/app/core/redux/actionCreatorFactory.ts b/public/app/core/redux/actionCreatorFactory.ts index 936440f735a..d6e33160d5f 100644 --- a/public/app/core/redux/actionCreatorFactory.ts +++ b/public/app/core/redux/actionCreatorFactory.ts @@ -21,7 +21,7 @@ export const actionCreatorFactory = (type: string): ActionCreatorFactor return Object.assign((payload: Payload): GrafanaAction => ({ type, payload }), { type }); }; - if (allActionCreators.some(t => type === type)) { + if (allActionCreators.some(t => (t && type ? t.toLocaleUpperCase() === type.toLocaleUpperCase() : false))) { throw new Error(`There is already an actionCreator defined with the type ${type}`); } @@ -30,4 +30,5 @@ export const actionCreatorFactory = (type: string): ActionCreatorFactor return { create }; }; +// Should only be used by tests export const resetAllActionCreatorTypes = () => (allActionCreators.length = 0);