Skip to content

Commit c876bfa

Browse files
committed
Add missing spec file
Signed-off-by: Dmitriy Zaporozhets <[email protected]>
1 parent 92f8e0f commit c876bfa

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

spec/features/runners_spec.rb

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
require 'spec_helper'
2+
3+
describe "Runners" do
4+
include GitlabRoutingHelper
5+
6+
let(:user) { create(:user) }
7+
before { login_as(user) }
8+
9+
describe "specific runners" do
10+
before do
11+
@project = FactoryGirl.create :ci_project
12+
@project.gl_project.team << [user, :master]
13+
14+
@project2 = FactoryGirl.create :ci_project
15+
@project2.gl_project.team << [user, :master]
16+
17+
@shared_runner = FactoryGirl.create :ci_shared_runner
18+
@specific_runner = FactoryGirl.create :ci_specific_runner
19+
@specific_runner2 = FactoryGirl.create :ci_specific_runner
20+
@project.runners << @specific_runner
21+
@project2.runners << @specific_runner2
22+
23+
visit runners_path(@project.gl_project)
24+
end
25+
26+
it "places runners in right places" do
27+
expect(page.find(".available-specific-runners")).to have_content(@specific_runner2.display_name)
28+
expect(page.find(".activated-specific-runners")).to have_content(@specific_runner.display_name)
29+
expect(page.find(".available-shared-runners")).to have_content(@shared_runner.display_name)
30+
end
31+
32+
it "enables specific runner for project" do
33+
within ".available-specific-runners" do
34+
click_on "Enable for this project"
35+
end
36+
37+
expect(page.find(".activated-specific-runners")).to have_content(@specific_runner2.display_name)
38+
end
39+
40+
it "disables specific runner for project" do
41+
@project2.runners << @specific_runner
42+
visit runners_path(@project.gl_project)
43+
44+
within ".activated-specific-runners" do
45+
click_on "Disable for this project"
46+
end
47+
48+
expect(page.find(".available-specific-runners")).to have_content(@specific_runner.display_name)
49+
end
50+
51+
it "removes specific runner for project if this is last project for that runners" do
52+
within ".activated-specific-runners" do
53+
click_on "Remove runner"
54+
end
55+
56+
expect(Ci::Runner.exists?(id: @specific_runner)).to be_falsey
57+
end
58+
end
59+
60+
describe "shared runners" do
61+
before do
62+
@project = FactoryGirl.create :ci_project
63+
@project.gl_project.team << [user, :master]
64+
visit runners_path(@project.gl_project)
65+
end
66+
67+
it "enables shared runners" do
68+
click_on "Enable shared runners"
69+
expect(@project.reload.shared_runners_enabled).to be_truthy
70+
end
71+
end
72+
73+
describe "show page" do
74+
before do
75+
@project = FactoryGirl.create :ci_project
76+
@project.gl_project.team << [user, :master]
77+
@specific_runner = FactoryGirl.create :ci_specific_runner
78+
@project.runners << @specific_runner
79+
visit runners_path(@project.gl_project)
80+
end
81+
82+
it "shows runner information" do
83+
click_on @specific_runner.short_sha
84+
expect(page).to have_content(@specific_runner.platform)
85+
end
86+
end
87+
end

0 commit comments

Comments
 (0)