Skip to content
Snippets Groups Projects
Commit 567dc62b authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre
Browse files

Show 'All' tab by default in the builds page

parent b9ec1aae
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -14,6 +14,8 @@ v 8.4.0 (unreleased)
- Revert back upvote and downvote button to the issue and MR pages
- Swap position of Assignee and Author selector on Issuables (Zeger-Jan van de Weg)
- Fix version check image in Safari
- Enable "Add key" button when user fills in a proper key (Stan Hu)
- Show 'All' tab by default in the builds page
 
v 8.3.3 (unreleased)
- Fix project transfer e-mail sending incorrect paths in e-mail notification (Stan Hu)
Loading
Loading
Loading
Loading
@@ -5,12 +5,12 @@ class Admin::BuildsController < Admin::ApplicationController
@builds = @all_builds.order('created_at DESC')
@builds =
case @scope
when 'all'
@builds
when 'running'
@builds.running_or_pending.reverse_order
when 'finished'
@builds.finished
else
@builds.running_or_pending.reverse_order
@builds
end
@builds = @builds.page(params[:page]).per(30)
end
Loading
Loading
Loading
Loading
@@ -12,12 +12,12 @@ class Projects::BuildsController < Projects::ApplicationController
@builds = @all_builds.order('created_at DESC')
@builds =
case @scope
when 'all'
@builds
when 'running'
@builds.running_or_pending.reverse_order
when 'finished'
@builds.finished
else
@builds.running_or_pending.reverse_order
@builds
end
@builds = @builds.page(params[:page]).per(30)
end
Loading
Loading
Loading
Loading
@@ -7,6 +7,11 @@
%ul.center-top-menu
%li{class: ('active' if @scope.nil?)}
= link_to admin_builds_path do
All
%span.badge.js-totalbuilds-count= @all_builds.count(:id)
%li{class: ('active' if @scope == 'running')}
= link_to admin_builds_path(scope: :running) do
Running
%span.badge.js-running-count= number_with_delimiter(@all_builds.running_or_pending.count(:id))
 
Loading
Loading
@@ -15,11 +20,6 @@
Finished
%span.badge.js-running-count= number_with_delimiter(@all_builds.finished.count(:id))
 
%li{class: ('active' if @scope == 'all')}
= link_to admin_builds_path(scope: :all) do
All
%span.badge.js-totalbuilds-count= number_with_delimiter(@all_builds.count(:id))
.gray-content-block
#{(@scope || 'running').capitalize} builds
 
Loading
Loading
Loading
Loading
@@ -11,6 +11,12 @@
%ul.center-top-menu
%li{class: ('active' if @scope.nil?)}
= link_to project_builds_path(@project) do
All
%span.badge.js-totalbuilds-count
= number_with_delimiter(@all_builds.count(:id))
%li{class: ('active' if @scope == 'running')}
= link_to project_builds_path(@project, scope: :running) do
Running
%span.badge.js-running-count
= number_with_delimiter(@all_builds.running_or_pending.count(:id))
Loading
Loading
@@ -21,12 +27,6 @@
%span.badge.js-running-count
= number_with_delimiter(@all_builds.finished.count(:id))
 
%li{class: ('active' if @scope == 'all')}
= link_to project_builds_path(@project, scope: :all) do
All
%span.badge.js-totalbuilds-count
= number_with_delimiter(@all_builds.count(:id))
.gray-content-block
#{(@scope || 'running').capitalize} builds from this project
 
Loading
Loading
require 'spec_helper'
 
describe "Admin Builds" do
let(:commit) { FactoryGirl.create :ci_commit }
let(:build) { FactoryGirl.create :ci_build, commit: commit }
describe 'Admin Builds' do
before do
login_as :admin
end
 
describe "GET /admin/builds" do
before do
build
visit admin_builds_path
end
it { expect(page).to have_content "Running" }
it { expect(page).to have_content build.short_sha }
end
describe 'GET /admin/builds' do
let(:commit) { create(:ci_commit) }
 
describe "Tabs" do
it "shows all builds" do
FactoryGirl.create :ci_build, commit: commit, status: "pending"
FactoryGirl.create :ci_build, commit: commit, status: "running"
FactoryGirl.create :ci_build, commit: commit, status: "success"
FactoryGirl.create :ci_build, commit: commit, status: "failed"
context 'All tab' do
context 'when have builds' do
it 'shows all builds' do
create(:ci_build, commit: commit, status: :pending)
create(:ci_build, commit: commit, status: :running)
create(:ci_build, commit: commit, status: :success)
create(:ci_build, commit: commit, status: :failed)
 
visit admin_builds_path
visit admin_builds_path
 
within ".center-top-menu" do
click_on "All"
expect(page).to have_selector('.project-issuable-filter li.active', text: 'All')
expect(page.all('.build-link').size).to eq(4)
expect(page).to have_link 'Cancel all'
end
end
 
expect(page.all(".build-link").size).to eq(4)
context 'when have no builds' do
it 'shows a message' do
visit admin_builds_path
expect(page).to have_selector('.project-issuable-filter li.active', text: 'All')
expect(page).to have_content 'No builds to show'
expect(page).not_to have_link 'Cancel all'
end
end
end
 
it "shows finished builds" do
build = FactoryGirl.create :ci_build, commit: commit, status: "pending"
build1 = FactoryGirl.create :ci_build, commit: commit, status: "running"
build2 = FactoryGirl.create :ci_build, commit: commit, status: "success"
context 'Running tab' do
context 'when have running builds' do
it 'shows running builds' do
build1 = create(:ci_build, commit: commit, status: :pending)
build2 = create(:ci_build, commit: commit, status: :success)
build3 = create(:ci_build, commit: commit, status: :failed)
visit admin_builds_path(scope: :running)
expect(page).to have_selector('.project-issuable-filter li.active', text: 'Running')
expect(page.find('.build-link')).to have_content(build1.id)
expect(page.find('.build-link')).not_to have_content(build2.id)
expect(page.find('.build-link')).not_to have_content(build3.id)
expect(page).to have_link 'Cancel all'
end
end
 
visit admin_builds_path
context 'when have no builds running' do
it 'shows a message' do
create(:ci_build, commit: commit, status: :success)
 
within ".center-top-menu" do
click_on "Finished"
end
visit admin_builds_path(scope: :running)
 
expect(page.find(".build-link")).not_to have_content(build.id)
expect(page.find(".build-link")).not_to have_content(build1.id)
expect(page.find(".build-link")).to have_content(build2.id)
expect(page).to have_selector('.project-issuable-filter li.active', text: 'Running')
expect(page).to have_content 'No builds to show'
expect(page).not_to have_link 'Cancel all'
end
end
end
 
it "shows running builds" do
build = FactoryGirl.create :ci_build, commit: commit, status: "pending"
build2 = FactoryGirl.create :ci_build, commit: commit, status: "success"
build3 = FactoryGirl.create :ci_build, commit: commit, status: "failed"
context 'Finished tab' do
context 'when have finished builds' do
it 'shows finished builds' do
build1 = create(:ci_build, commit: commit, status: :pending)
build2 = create(:ci_build, commit: commit, status: :running)
build3 = create(:ci_build, commit: commit, status: :success)
visit admin_builds_path(scope: :finished)
expect(page).to have_selector('.project-issuable-filter li.active', text: 'Finished')
expect(page.find('.build-link')).not_to have_content(build1.id)
expect(page.find('.build-link')).not_to have_content(build2.id)
expect(page.find('.build-link')).to have_content(build3.id)
expect(page).to have_link 'Cancel all'
end
end
 
visit admin_builds_path
context 'when have no builds finished' do
it 'shows a message' do
create(:ci_build, commit: commit, status: :running)
 
within ".center-top-menu" do
click_on "Running"
end
visit admin_builds_path(scope: :finished)
 
expect(page.find(".build-link")).to have_content(build.id)
expect(page.find(".build-link")).not_to have_content(build2.id)
expect(page.find(".build-link")).not_to have_content(build3.id)
expect(page).to have_selector('.project-issuable-filter li.active', text: 'Finished')
expect(page).to have_content 'No builds to show'
expect(page).to have_link 'Cancel all'
end
end
end
end
end
Loading
Loading
@@ -15,11 +15,11 @@ describe "Builds" do
context "Running scope" do
before do
@build.run!
visit namespace_project_builds_path(@project.namespace, @project)
visit namespace_project_builds_path(@project.namespace, @project, scope: :running)
end
 
it { expect(page).to have_content 'Running' }
it { expect(page).to have_content 'Cancel running' }
it { expect(page).to have_selector('.project-issuable-filter li.active', text: 'Running') }
it { expect(page).to have_link 'Cancel running' }
it { expect(page).to have_content @build.short_sha }
it { expect(page).to have_content @build.ref }
it { expect(page).to have_content @build.name }
Loading
Loading
@@ -31,21 +31,22 @@ describe "Builds" do
visit namespace_project_builds_path(@project.namespace, @project, scope: :finished)
end
 
it { expect(page).to have_selector('.project-issuable-filter li.active', text: 'Finished') }
it { expect(page).to have_content 'No builds to show' }
it { expect(page).to have_content 'Cancel running' }
it { expect(page).to have_link 'Cancel running' }
end
 
context "All builds" do
before do
@project.builds.running_or_pending.each(&:success)
visit namespace_project_builds_path(@project.namespace, @project, scope: :all)
visit namespace_project_builds_path(@project.namespace, @project)
end
 
it { expect(page).to have_content 'All' }
it { expect(page).to have_selector('.project-issuable-filter li.active', text: 'All') }
it { expect(page).to have_content @build.short_sha }
it { expect(page).to have_content @build.ref }
it { expect(page).to have_content @build.name }
it { expect(page).to_not have_content 'Cancel running' }
it { expect(page).to_not have_link 'Cancel running' }
end
end
 
Loading
Loading
@@ -56,8 +57,12 @@ describe "Builds" do
click_link "Cancel running"
end
 
it { expect(page).to have_content 'No builds to show' }
it { expect(page).to_not have_content 'Cancel running' }
it { expect(page).to have_selector('.project-issuable-filter li.active', text: 'All') }
it { expect(page).to have_content 'canceled' }
it { expect(page).to have_content @build.short_sha }
it { expect(page).to have_content @build.ref }
it { expect(page).to have_content @build.name }
it { expect(page).to_not have_link 'Cancel running' }
end
 
describe "GET /:project/builds/:id" do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment