diff options
Diffstat (limited to 'spec/frontend/ide/stores/modules/file_templates/getters_spec.js')
-rw-r--r-- | spec/frontend/ide/stores/modules/file_templates/getters_spec.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/spec/frontend/ide/stores/modules/file_templates/getters_spec.js b/spec/frontend/ide/stores/modules/file_templates/getters_spec.js new file mode 100644 index 00000000000..17cb457881f --- /dev/null +++ b/spec/frontend/ide/stores/modules/file_templates/getters_spec.js @@ -0,0 +1,59 @@ +import createState from '~/ide/stores/state'; +import { activityBarViews } from '~/ide/constants'; +import * as getters from '~/ide/stores/modules/file_templates/getters'; + +describe('IDE file templates getters', () => { + describe('templateTypes', () => { + it('returns list of template types', () => { + expect(getters.templateTypes().length).toBe(4); + }); + }); + + describe('showFileTemplatesBar', () => { + let rootState; + + beforeEach(() => { + rootState = createState(); + }); + + it('returns true if template is found and currentActivityView is edit', () => { + rootState.currentActivityView = activityBarViews.edit; + + expect( + getters.showFileTemplatesBar( + null, + { + templateTypes: getters.templateTypes(), + }, + rootState, + )('LICENSE'), + ).toBe(true); + }); + + it('returns false if template is found and currentActivityView is not edit', () => { + rootState.currentActivityView = activityBarViews.commit; + + expect( + getters.showFileTemplatesBar( + null, + { + templateTypes: getters.templateTypes(), + }, + rootState, + )('LICENSE'), + ).toBe(false); + }); + + it('returns undefined if not found', () => { + expect( + getters.showFileTemplatesBar( + null, + { + templateTypes: getters.templateTypes(), + }, + rootState, + )('test'), + ).toBe(undefined); + }); + }); +}); |