diff options
Diffstat (limited to 'spec/frontend/jira_import/utils_spec.js')
-rw-r--r-- | spec/frontend/jira_import/utils_spec.js | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/spec/frontend/jira_import/utils_spec.js b/spec/frontend/jira_import/utils_spec.js index a14db104229..0b1edd6550a 100644 --- a/spec/frontend/jira_import/utils_spec.js +++ b/spec/frontend/jira_import/utils_spec.js @@ -1,27 +1,62 @@ -import { IMPORT_STATE, isInProgress } from '~/jira_import/utils'; +import { + calculateJiraImportLabel, + IMPORT_STATE, + isFinished, + isInProgress, +} from '~/jira_import/utils'; describe('isInProgress', () => { - it('returns true when state is IMPORT_STATE.SCHEDULED', () => { - expect(isInProgress(IMPORT_STATE.SCHEDULED)).toBe(true); + it.each` + state | result + ${IMPORT_STATE.SCHEDULED} | ${true} + ${IMPORT_STATE.STARTED} | ${true} + ${IMPORT_STATE.FAILED} | ${false} + ${IMPORT_STATE.FINISHED} | ${false} + ${IMPORT_STATE.NONE} | ${false} + ${undefined} | ${false} + `('returns $result when state is $state', ({ state, result }) => { + expect(isInProgress(state)).toBe(result); }); +}); - it('returns true when state is IMPORT_STATE.STARTED', () => { - expect(isInProgress(IMPORT_STATE.STARTED)).toBe(true); +describe('isFinished', () => { + it.each` + state | result + ${IMPORT_STATE.SCHEDULED} | ${false} + ${IMPORT_STATE.STARTED} | ${false} + ${IMPORT_STATE.FAILED} | ${false} + ${IMPORT_STATE.FINISHED} | ${true} + ${IMPORT_STATE.NONE} | ${false} + ${undefined} | ${false} + `('returns $result when state is $state', ({ state, result }) => { + expect(isFinished(state)).toBe(result); }); +}); - it('returns false when state is IMPORT_STATE.FAILED', () => { - expect(isInProgress(IMPORT_STATE.FAILED)).toBe(false); - }); +describe('calculateJiraImportLabel', () => { + const jiraImports = [ + { jiraProjectKey: 'MTG' }, + { jiraProjectKey: 'MJP' }, + { jiraProjectKey: 'MTG' }, + { jiraProjectKey: 'MSJP' }, + { jiraProjectKey: 'MTG' }, + ]; - it('returns false when state is IMPORT_STATE.FINISHED', () => { - expect(isInProgress(IMPORT_STATE.FINISHED)).toBe(false); - }); + const labels = [ + { color: '#111', title: 'jira-import::MTG-1' }, + { color: '#222', title: 'jira-import::MTG-2' }, + { color: '#333', title: 'jira-import::MTG-3' }, + ]; + + it('returns a label with the Jira project key and correct import count in the title', () => { + const label = calculateJiraImportLabel(jiraImports, labels); - it('returns false when state is IMPORT_STATE.NONE', () => { - expect(isInProgress(IMPORT_STATE.NONE)).toBe(false); + expect(label.title).toBe('jira-import::MTG-3'); }); - it('returns false when state is undefined', () => { - expect(isInProgress()).toBe(false); + it('returns a label with the correct color', () => { + const label = calculateJiraImportLabel(jiraImports, labels); + + expect(label.color).toBe('#333'); }); }); |