diff options
Diffstat (limited to 'spec/features/ci')
-rw-r--r-- | spec/features/ci/admin/builds_spec.rb | 11 | ||||
-rw-r--r-- | spec/features/ci/admin/runners_spec.rb | 27 | ||||
-rw-r--r-- | spec/features/ci/builds_spec.rb | 60 | ||||
-rw-r--r-- | spec/features/ci/commits_spec.rb | 69 | ||||
-rw-r--r-- | spec/features/ci/events_spec.rb | 22 | ||||
-rw-r--r-- | spec/features/ci/projects_spec.rb | 38 | ||||
-rw-r--r-- | spec/features/ci/runners_spec.rb | 96 | ||||
-rw-r--r-- | spec/features/ci/triggers_spec.rb | 28 | ||||
-rw-r--r-- | spec/features/ci/variables_spec.rb | 28 |
9 files changed, 18 insertions, 361 deletions
diff --git a/spec/features/ci/admin/builds_spec.rb b/spec/features/ci/admin/builds_spec.rb index 88ef9c144af..623d466c67b 100644 --- a/spec/features/ci/admin/builds_spec.rb +++ b/spec/features/ci/admin/builds_spec.rb @@ -1,8 +1,7 @@ require 'spec_helper' describe "Admin Builds" do - let(:project) { FactoryGirl.create :ci_project } - let(:commit) { FactoryGirl.create :ci_commit, project: project } + let(:commit) { FactoryGirl.create :ci_commit } let(:build) { FactoryGirl.create :ci_build, commit: commit } before do @@ -22,10 +21,10 @@ describe "Admin Builds" do 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" + 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" visit ci_admin_builds_path diff --git a/spec/features/ci/admin/runners_spec.rb b/spec/features/ci/admin/runners_spec.rb index b25121f0806..b83744f53a8 100644 --- a/spec/features/ci/admin/runners_spec.rb +++ b/spec/features/ci/admin/runners_spec.rb @@ -2,8 +2,7 @@ require 'spec_helper' describe "Admin Runners" do before do - skip_ci_admin_auth - login_as :user + login_as :admin end describe "Runners page" do @@ -20,16 +19,16 @@ describe "Admin Runners" do describe 'search' do before do - FactoryGirl.create :ci_runner, description: 'foo' - FactoryGirl.create :ci_runner, description: 'bar' + FactoryGirl.create :ci_runner, description: 'runner-foo' + FactoryGirl.create :ci_runner, description: 'runner-bar' search_form = find('#runners-search') - search_form.fill_in 'search', with: 'foo' + search_form.fill_in 'search', with: 'runner-foo' search_form.click_button 'Search' end - it { expect(page).to have_content("foo") } - it { expect(page).not_to have_content("bar") } + it { expect(page).to have_content("runner-foo") } + it { expect(page).not_to have_content("runner-bar") } end end @@ -37,8 +36,8 @@ describe "Admin Runners" do let(:runner) { FactoryGirl.create :ci_runner } before do - FactoryGirl.create(:ci_project, name: "foo") - FactoryGirl.create(:ci_project, name: "bar") + @project1 = FactoryGirl.create(:ci_project) + @project2 = FactoryGirl.create(:ci_project) visit ci_admin_runner_path(runner) end @@ -47,19 +46,19 @@ describe "Admin Runners" do end describe 'projects' do - it { expect(page).to have_content("foo") } - it { expect(page).to have_content("bar") } + it { expect(page).to have_content(@project1.name_with_namespace) } + it { expect(page).to have_content(@project2.name_with_namespace) } end describe 'search' do before do search_form = find('#runner-projects-search') - search_form.fill_in 'search', with: 'foo' + search_form.fill_in 'search', with: @project1.gl_project.name search_form.click_button 'Search' end - it { expect(page).to have_content("foo") } - it { expect(page).not_to have_content("bar") } + it { expect(page).to have_content(@project1.name_with_namespace) } + it { expect(page).not_to have_content(@project2.name_with_namespace) } end end end diff --git a/spec/features/ci/builds_spec.rb b/spec/features/ci/builds_spec.rb deleted file mode 100644 index 2f020e524e2..00000000000 --- a/spec/features/ci/builds_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'spec_helper' - -describe "Builds" do - context :private_project do - before do - @project = FactoryGirl.create :ci_project - @commit = FactoryGirl.create :ci_commit, project: @project - @build = FactoryGirl.create :ci_build, commit: @commit - login_as :user - @project.gl_project.team << [@user, :master] - end - - describe "GET /:project/builds/:id" do - before do - visit ci_project_build_path(@project, @build) - end - - it { expect(page).to have_content @commit.sha[0..7] } - it { expect(page).to have_content @commit.git_commit_message } - it { expect(page).to have_content @commit.git_author_name } - end - - describe "GET /:project/builds/:id/cancel" do - before do - @build.run! - visit cancel_ci_project_build_path(@project, @build) - end - - it { expect(page).to have_content 'canceled' } - it { expect(page).to have_content 'Retry' } - end - - describe "POST /:project/builds/:id/retry" do - before do - @build.cancel! - visit ci_project_build_path(@project, @build) - click_link 'Retry' - end - - it { expect(page).to have_content 'pending' } - it { expect(page).to have_content 'Cancel' } - end - end - - context :public_project do - describe "Show page public accessible" do - before do - @project = FactoryGirl.create :ci_public_project - @commit = FactoryGirl.create :ci_commit, project: @project - @runner = FactoryGirl.create :ci_specific_runner - @build = FactoryGirl.create :ci_build, commit: @commit, runner: @runner - - stub_gitlab_calls - visit ci_project_build_path(@project, @build) - end - - it { expect(page).to have_content @commit.sha[0..7] } - end - end -end diff --git a/spec/features/ci/commits_spec.rb b/spec/features/ci/commits_spec.rb deleted file mode 100644 index 40a62ca4574..00000000000 --- a/spec/features/ci/commits_spec.rb +++ /dev/null @@ -1,69 +0,0 @@ -require 'spec_helper' - -describe "Commits" do - include Ci::CommitsHelper - - context "Authenticated user" do - before do - @project = FactoryGirl.create :ci_project - @commit = FactoryGirl.create :ci_commit, project: @project - @build = FactoryGirl.create :ci_build, commit: @commit - login_as :user - @project.gl_project.team << [@user, :master] - end - - describe "GET /:project/commits/:sha" do - before do - visit ci_commit_path(@commit) - end - - it { expect(page).to have_content @commit.sha[0..7] } - it { expect(page).to have_content @commit.git_commit_message } - it { expect(page).to have_content @commit.git_author_name } - end - - describe "Cancel commit" do - it "cancels commit" do - visit ci_commit_path(@commit) - click_on "Cancel" - - expect(page).to have_content "canceled" - end - end - - describe ".gitlab-ci.yml not found warning" do - it "does not show warning" do - visit ci_commit_path(@commit) - - expect(page).not_to have_content ".gitlab-ci.yml not found in this commit" - end - - it "shows warning" do - @commit.push_data[:ci_yaml_file] = nil - @commit.save - - visit ci_commit_path(@commit) - - expect(page).to have_content ".gitlab-ci.yml not found in this commit" - end - end - end - - context "Public pages" do - before do - @project = FactoryGirl.create :ci_public_project - @commit = FactoryGirl.create :ci_commit, project: @project - @build = FactoryGirl.create :ci_build, commit: @commit - end - - describe "GET /:project/commits/:sha" do - before do - visit ci_commit_path(@commit) - end - - it { expect(page).to have_content @commit.sha[0..7] } - it { expect(page).to have_content @commit.git_commit_message } - it { expect(page).to have_content @commit.git_author_name } - end - end -end diff --git a/spec/features/ci/events_spec.rb b/spec/features/ci/events_spec.rb deleted file mode 100644 index 5b9fd404159..00000000000 --- a/spec/features/ci/events_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'spec_helper' - -describe "Events" do - let(:user) { create(:user) } - let(:project) { FactoryGirl.create :ci_project } - let(:event) { FactoryGirl.create :ci_admin_event, project: project } - - before do - login_as(user) - project.gl_project.team << [user, :master] - end - - describe "GET /ci/project/:id/events" do - before do - event - visit ci_project_events_path(project) - end - - it { expect(page).to have_content "Events" } - it { expect(page).to have_content event.description } - end -end diff --git a/spec/features/ci/projects_spec.rb b/spec/features/ci/projects_spec.rb deleted file mode 100644 index 7c8cd1ce5c7..00000000000 --- a/spec/features/ci/projects_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'spec_helper' - -describe "Projects" do - let(:user) { create(:user) } - - before do - login_as(user) - @project = FactoryGirl.create :ci_project, name: "GitLab / gitlab-shell" - @project.gl_project.team << [user, :master] - end - - describe "GET /ci/projects/:id" do - before do - visit ci_project_path(@project) - end - - it { expect(page).to have_content @project.name } - it { expect(page).to have_content 'All commits' } - end - - describe "GET /ci/projects/:id/edit" do - before do - visit edit_ci_project_path(@project) - end - - it { expect(page).to have_content @project.name } - it { expect(page).to have_content 'Build Schedule' } - - it "updates configuration" do - fill_in 'Timeout', with: '70' - click_button 'Save changes' - - expect(page).to have_content 'was successfully updated' - - expect(find_field('Timeout').value).to eq '70' - end - end -end diff --git a/spec/features/ci/runners_spec.rb b/spec/features/ci/runners_spec.rb deleted file mode 100644 index 15147f15eb3..00000000000 --- a/spec/features/ci/runners_spec.rb +++ /dev/null @@ -1,96 +0,0 @@ -require 'spec_helper' - -describe "Runners" do - let(:user) { create(:user) } - - before do - login_as(user) - end - - describe "specific runners" do - before do - @project = FactoryGirl.create :ci_project - @project.gl_project.team << [user, :master] - - @project2 = FactoryGirl.create :ci_project - @project2.gl_project.team << [user, :master] - - @shared_runner = FactoryGirl.create :ci_shared_runner - @specific_runner = FactoryGirl.create :ci_specific_runner - @specific_runner2 = FactoryGirl.create :ci_specific_runner - @project.runners << @specific_runner - @project2.runners << @specific_runner2 - end - - it "places runners in right places" do - visit ci_project_runners_path(@project) - expect(page.find(".available-specific-runners")).to have_content(@specific_runner2.display_name) - expect(page.find(".activated-specific-runners")).to have_content(@specific_runner.display_name) - expect(page.find(".available-shared-runners")).to have_content(@shared_runner.display_name) - end - - it "enables specific runner for project" do - visit ci_project_runners_path(@project) - - within ".available-specific-runners" do - click_on "Enable for this project" - end - - expect(page.find(".activated-specific-runners")).to have_content(@specific_runner2.display_name) - end - - it "disables specific runner for project" do - @project2.runners << @specific_runner - - visit ci_project_runners_path(@project) - - within ".activated-specific-runners" do - click_on "Disable for this project" - end - - expect(page.find(".available-specific-runners")).to have_content(@specific_runner.display_name) - end - - it "removes specific runner for project if this is last project for that runners" do - visit ci_project_runners_path(@project) - - within ".activated-specific-runners" do - click_on "Remove runner" - end - - expect(Ci::Runner.exists?(id: @specific_runner)).to be_falsey - end - end - - describe "shared runners" do - before do - @project = FactoryGirl.create :ci_project - @project.gl_project.team << [user, :master] - end - - it "enables shared runners" do - visit ci_project_runners_path(@project) - - click_on "Enable shared runners" - - expect(@project.reload.shared_runners_enabled).to be_truthy - end - end - - describe "show page" do - before do - @project = FactoryGirl.create :ci_project - @project.gl_project.team << [user, :master] - @specific_runner = FactoryGirl.create :ci_specific_runner - @project.runners << @specific_runner - end - - it "shows runner information" do - visit ci_project_runners_path(@project) - - click_on @specific_runner.short_sha - - expect(page).to have_content(@specific_runner.platform) - end - end -end diff --git a/spec/features/ci/triggers_spec.rb b/spec/features/ci/triggers_spec.rb deleted file mode 100644 index c6afeb74628..00000000000 --- a/spec/features/ci/triggers_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'spec_helper' - -describe 'Triggers' do - let(:user) { create(:user) } - - before do - login_as(user) - @project = FactoryGirl.create :ci_project - @project.gl_project.team << [user, :master] - visit ci_project_triggers_path(@project) - end - - context 'create a trigger' do - before do - click_on 'Add Trigger' - expect(@project.triggers.count).to eq(1) - end - - it 'contains trigger token' do - expect(page).to have_content(@project.triggers.first.token) - end - - it 'revokes the trigger' do - click_on 'Revoke' - expect(@project.triggers.count).to eq(0) - end - end -end diff --git a/spec/features/ci/variables_spec.rb b/spec/features/ci/variables_spec.rb deleted file mode 100644 index e387b3be555..00000000000 --- a/spec/features/ci/variables_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'spec_helper' - -describe "Variables" do - let(:user) { create(:user) } - - before do - login_as(user) - end - - describe "specific runners" do - before do - @project = FactoryGirl.create :ci_project - @project.gl_project.team << [user, :master] - end - - it "creates variable", js: true do - visit ci_project_variables_path(@project) - click_on "Add a variable" - fill_in "Key", with: "SECRET_KEY" - fill_in "Value", with: "SECRET_VALUE" - click_on "Save changes" - - expect(page).to have_content("Variables were successfully updated.") - expect(@project.variables.count).to eq(1) - end - - end -end |