import Vue from 'vue'; import { mountComponentWithStore } from 'helpers/vue_mount_component_helper'; import component from '~/jobs/components/job_log.vue'; import createStore from '~/jobs/store'; import { resetStore } from '../store/helpers'; describe('Job Log', () => { const Component = Vue.extend(component); let store; let vm; const trace = 'Running with gitlab-runner 12.1.0 (de7731dd)
on docker-auto-scale-com d5ae8d25
Using Docker executor with image ruby:2.6 ...
'; beforeEach(() => { store = createStore(); }); afterEach(() => { resetStore(store); vm.$destroy(); }); it('renders provided trace', () => { vm = mountComponentWithStore(Component, { props: { trace, isComplete: true, }, store, }); expect(vm.$el.querySelector('code').textContent).toContain( 'Running with gitlab-runner 12.1.0 (de7731dd)', ); }); describe('while receiving trace', () => { it('renders animation', () => { vm = mountComponentWithStore(Component, { props: { trace, isComplete: false, }, store, }); expect(vm.$el.querySelector('.js-log-animation')).not.toBeNull(); }); }); describe('when build trace has finishes', () => { it('does not render animation', () => { vm = mountComponentWithStore(Component, { props: { trace, isComplete: true, }, store, }); expect(vm.$el.querySelector('.js-log-animation')).toBeNull(); }); }); });