summaryrefslogtreecommitdiff
path: root/spec/features/ci/admin/builds_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/ci/admin/builds_spec.rb')
-rw-r--r--spec/features/ci/admin/builds_spec.rb71
1 files changed, 71 insertions, 0 deletions
diff --git a/spec/features/ci/admin/builds_spec.rb b/spec/features/ci/admin/builds_spec.rb
new file mode 100644
index 00000000000..88ef9c144af
--- /dev/null
+++ b/spec/features/ci/admin/builds_spec.rb
@@ -0,0 +1,71 @@
+require 'spec_helper'
+
+describe "Admin Builds" do
+ let(:project) { FactoryGirl.create :ci_project }
+ let(:commit) { FactoryGirl.create :ci_commit, project: project }
+ let(:build) { FactoryGirl.create :ci_build, commit: commit }
+
+ before do
+ skip_ci_admin_auth
+ login_as :user
+ end
+
+ describe "GET /admin/builds" do
+ before do
+ build
+ visit ci_admin_builds_path
+ end
+
+ it { expect(page).to have_content "All builds" }
+ it { expect(page).to have_content build.short_sha }
+ end
+
+ describe "Tabs" do
+ it "shows all 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"
+ build3 = FactoryGirl.create :ci_build, commit: commit, status: "failed"
+
+ visit ci_admin_builds_path
+
+ expect(page.all(".build-link").size).to eq(4)
+ end
+
+ it "shows pending 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"
+ build3 = FactoryGirl.create :ci_build, commit: commit, status: "failed"
+
+ visit ci_admin_builds_path
+
+ within ".nav.nav-tabs" do
+ click_on "Pending"
+ end
+
+ expect(page.find(".build-link")).to have_content(build.id)
+ 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")).not_to have_content(build3.id)
+ end
+
+ it "shows running 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"
+ build3 = FactoryGirl.create :ci_build, commit: commit, status: "failed"
+
+ visit ci_admin_builds_path
+
+ within ".nav.nav-tabs" do
+ click_on "Running"
+ end
+
+ expect(page.find(".build-link")).to have_content(build1.id)
+ expect(page.find(".build-link")).not_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)
+ end
+ end
+end