diff options
Diffstat (limited to 'spec/frontend/pipelines/pipeline_details_mediator_spec.js')
-rw-r--r-- | spec/frontend/pipelines/pipeline_details_mediator_spec.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/frontend/pipelines/pipeline_details_mediator_spec.js b/spec/frontend/pipelines/pipeline_details_mediator_spec.js new file mode 100644 index 00000000000..083e97666ed --- /dev/null +++ b/spec/frontend/pipelines/pipeline_details_mediator_spec.js @@ -0,0 +1,36 @@ +import MockAdapter from 'axios-mock-adapter'; +import axios from '~/lib/utils/axios_utils'; +import PipelineMediator from '~/pipelines/pipeline_details_mediator'; +import waitForPromises from 'helpers/wait_for_promises'; + +describe('PipelineMdediator', () => { + let mediator; + let mock; + + beforeEach(() => { + mock = new MockAdapter(axios); + mediator = new PipelineMediator({ endpoint: 'foo.json' }); + }); + + afterEach(() => { + mock.restore(); + }); + + it('should set defaults', () => { + expect(mediator.options).toEqual({ endpoint: 'foo.json' }); + expect(mediator.state.isLoading).toEqual(false); + expect(mediator.store).toBeDefined(); + expect(mediator.service).toBeDefined(); + }); + + describe('request and store data', () => { + it('should store received data', () => { + mock.onGet('foo.json').reply(200, { id: '121123' }); + mediator.fetchPipeline(); + + return waitForPromises().then(() => { + expect(mediator.store.state.pipeline).toEqual({ id: '121123' }); + }); + }); + }); +}); |