diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2019-09-02 17:43:42 +0100 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2019-09-03 09:32:42 +0100 |
commit | 876ae19d9efac7675ae60bf75d792e308e4d6ad2 (patch) | |
tree | b2251f666f6c8aa63b6d71f2520b9f1205b0f7ba /spec/frontend/jobs/store | |
parent | f4e40c532b5582f47a0dd9bf7054112fc9ec6085 (diff) | |
download | gitlab-ce-876ae19d9efac7675ae60bf75d792e308e4d6ad2.tar.gz |
Creates utils for the job log66454-utils-parser
With the new job log json format
we need a parser on the frontend
Diffstat (limited to 'spec/frontend/jobs/store')
-rw-r--r-- | spec/frontend/jobs/store/utils_spec.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/spec/frontend/jobs/store/utils_spec.js b/spec/frontend/jobs/store/utils_spec.js new file mode 100644 index 00000000000..9e81558f8c2 --- /dev/null +++ b/spec/frontend/jobs/store/utils_spec.js @@ -0,0 +1,60 @@ +import linesParser from '~/jobs/store/utils'; + +describe('linesParser', () => { + const mockData = [ + { + offset: 1001, + content: [{ text: ' on docker-auto-scale-com 8a6210b8' }], + }, + { + offset: 1002, + content: [ + { + text: + 'Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33', + }, + ], + sections: ['prepare-executor'], + section_header: true, + }, + { + offset: 1003, + content: [{ text: 'Starting service postgres:9.6.14 ...' }], + sections: ['prepare-executor'], + }, + { + offset: 1004, + content: [{ text: 'Pulling docker image postgres:9.6.14 ...', style: 'term-fg-l-green' }], + sections: ['prepare-executor'], + }, + ]; + + let result; + + beforeEach(() => { + result = linesParser(mockData); + }); + + describe('regular line', () => { + it('adds a lineNumber property with correct index', () => { + expect(result[0].lineNumber).toEqual(0); + expect(result[1].line.lineNumber).toEqual(1); + }); + }); + + describe('collpasible section', () => { + it('adds a `isClosed` property', () => { + expect(result[1].isClosed).toEqual(true); + }); + + it('adds a `isHeader` property', () => { + expect(result[1].isHeader).toEqual(true); + }); + + it('creates a lines array property with the content of the collpasible section', () => { + expect(result[1].lines.length).toEqual(2); + expect(result[1].lines[0].content).toEqual(mockData[2].content); + expect(result[1].lines[1].content).toEqual(mockData[3].content); + }); + }); +}); |