Create dynamic fixture for build_spec (!7589)
This commit is contained in:
parent
c52f3d1ca0
commit
0bf14cb0b5
4 changed files with 38 additions and 72 deletions
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Create dynamic fixture for build_spec
|
||||
merge_request: 7589
|
||||
author: winniehell
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
(() => {
|
||||
describe('Build', () => {
|
||||
fixture.preload('build.html');
|
||||
fixture.preload('builds/build-with-artifacts.html.raw');
|
||||
|
||||
beforeEach(function () {
|
||||
fixture.load('build.html');
|
||||
fixture.load('builds/build-with-artifacts.html.raw');
|
||||
spyOn($, 'ajax');
|
||||
});
|
||||
|
||||
|
@ -28,15 +28,7 @@
|
|||
});
|
||||
|
||||
describe('setup', function () {
|
||||
const removeDate = new Date();
|
||||
removeDate.setUTCFullYear(removeDate.getUTCFullYear() + 1);
|
||||
// give the test three days to run
|
||||
removeDate.setTime(removeDate.getTime() + (3 * 24 * 60 * 60 * 1000));
|
||||
|
||||
beforeEach(function () {
|
||||
const removeDateElement = document.querySelector('.js-artifacts-remove');
|
||||
removeDateElement.innerText = removeDate.toString();
|
||||
|
||||
this.build = new Build();
|
||||
});
|
||||
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
.build-page
|
||||
.prepend-top-default
|
||||
.autoscroll-container
|
||||
%button.btn.btn-success.btn-sm#autoscroll-button{:type => "button", :data => {:state => 'disabled'}} enable autoscroll
|
||||
#js-build-scroll.scroll-controls
|
||||
%a.btn{href: '#build-trace'}
|
||||
%i.fa.fa-angle-up
|
||||
%a.btn{href: '#down-build-trace'}
|
||||
%i.fa.fa-angle-down
|
||||
%pre.build-trace#build-trace
|
||||
%code.bash.js-build-output
|
||||
%i.fa.fa-refresh.fa-spin.js-build-refresh
|
||||
|
||||
%aside.right-sidebar.right-sidebar-expanded.build-sidebar.js-build-sidebar
|
||||
.block.build-sidebar-header.visible-xs-block.visible-sm-block.append-bottom-default
|
||||
Build
|
||||
%strong #1
|
||||
%a.gutter-toggle.pull-right.js-sidebar-build-toggle{ href: "#" }
|
||||
%i.fa.fa-angle-double-right
|
||||
.blocks-container
|
||||
.dropdown.build-dropdown
|
||||
.title Stage
|
||||
%button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%span.stage-selection More
|
||||
%i.fa.fa-caret-down
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
%a.stage-item build
|
||||
%li
|
||||
%a.stage-item test
|
||||
%li
|
||||
%a.stage-item deploy
|
||||
.builds-container
|
||||
.build-job{data: {stage: 'build'}}
|
||||
%a{href: 'http://example.com/root/test-build/builds/1'}
|
||||
%i.fa.fa-check
|
||||
%i.fa.fa-check-circle-o
|
||||
%span
|
||||
Setup
|
||||
.build-job{data: {stage: 'test'}}
|
||||
%a{href: 'http://example.com/root/test-build/builds/2'}
|
||||
%i.fa.fa-check
|
||||
%i.fa.fa-check-circle-o
|
||||
%span
|
||||
Tests
|
||||
.build-job{data: {stage: 'deploy'}}
|
||||
%a{href: 'http://example.com/root/test-build/builds/3'}
|
||||
%i.fa.fa-check
|
||||
%i.fa.fa-check-circle-o
|
||||
%span
|
||||
Deploy
|
||||
|
||||
.js-build-options{ data: { page_url: 'http://example.com/root/test-build/builds/2',
|
||||
build_url: 'http://example.com/root/test-build/builds/2.json',
|
||||
build_status: 'passed',
|
||||
build_stage: 'test',
|
||||
log_state: 'buildstate' }}
|
||||
|
||||
%p.build-detail-row
|
||||
The artifacts will be removed in
|
||||
%span.js-artifacts-remove
|
||||
2016-12-19 09:02:12 UTC
|
32
spec/javascripts/fixtures/builds.rb
Normal file
32
spec/javascripts/fixtures/builds.rb
Normal file
|
@ -0,0 +1,32 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Projects::BuildsController, '(JavaScript fixtures)', type: :controller do
|
||||
include JavaScriptFixturesHelpers
|
||||
|
||||
let(:admin) { create(:admin) }
|
||||
let(:project) { create(:project_empty_repo) }
|
||||
let(:pipeline) { create(:ci_empty_pipeline, project: project) }
|
||||
let!(:build_with_artifacts) { create(:ci_build, :success, :artifacts, :trace, pipeline: pipeline, stage: 'test', artifacts_expire_at: Time.now + 18.months) }
|
||||
let!(:failed_build) { create(:ci_build, :failed, pipeline: pipeline, stage: 'build') }
|
||||
let!(:pending_build) { create(:ci_build, :pending, pipeline: pipeline, stage: 'deploy') }
|
||||
|
||||
render_views
|
||||
|
||||
before(:all) do
|
||||
clean_frontend_fixtures('builds/')
|
||||
end
|
||||
|
||||
before(:each) do
|
||||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'builds/build-with-artifacts.html.raw' do |example|
|
||||
get :show,
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project.to_param,
|
||||
id: build_with_artifacts.to_param
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue