diff options
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/builds_spec.rb | 41 | ||||
-rw-r--r-- | spec/features/ci/builds_spec.rb | 61 | ||||
-rw-r--r-- | spec/features/ci/projects_spec.rb | 20 | ||||
-rw-r--r-- | spec/features/commits_spec.rb (renamed from spec/features/ci/commits_spec.rb) | 56 | ||||
-rw-r--r-- | spec/features/projects_spec.rb | 2 |
5 files changed, 64 insertions, 116 deletions
diff --git a/spec/features/builds_spec.rb b/spec/features/builds_spec.rb new file mode 100644 index 00000000000..924047a0d8f --- /dev/null +++ b/spec/features/builds_spec.rb @@ -0,0 +1,41 @@ +require 'spec_helper' + +describe "Builds" do + before do + login_as(:user) + @commit = FactoryGirl.create :ci_commit + @build = FactoryGirl.create :ci_build, commit: @commit + @gl_project = @commit.project.gl_project + @gl_project.team << [@user, :master] + end + + describe "GET /:project/builds/:id" do + before do + visit namespace_project_build_path(@gl_project.namespace, @gl_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_namespace_project_build_path(@gl_project.namespace, @gl_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 + visit cancel_namespace_project_build_path(@gl_project.namespace, @gl_project, @build) + click_link 'Retry' + end + + it { expect(page).to have_content 'pending' } + it { expect(page).to have_content 'Cancel' } + end +end diff --git a/spec/features/ci/builds_spec.rb b/spec/features/ci/builds_spec.rb deleted file mode 100644 index d65699dbefa..00000000000 --- a/spec/features/ci/builds_spec.rb +++ /dev/null @@ -1,61 +0,0 @@ -require 'spec_helper' - -describe "Builds" do - context :private_project do - before do - @commit = FactoryGirl.create :ci_commit - @build = FactoryGirl.create :ci_build, commit: @commit - login_as :user - @commit.project.gl_project.team << [@user, :master] - end - - describe "GET /:project/builds/:id" do - before do - visit ci_project_build_path(@commit.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(@commit.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(@commit.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 - @commit = FactoryGirl.create :ci_commit - @commit.project.public = true - @commit.project.save - - @runner = FactoryGirl.create :ci_specific_runner - @build = FactoryGirl.create :ci_build, commit: @commit, runner: @runner - - stub_gitlab_calls - visit ci_project_build_path(@commit.project, @build) - end - - it { expect(page).to have_content @commit.sha[0..7] } - end - end -end diff --git a/spec/features/ci/projects_spec.rb b/spec/features/ci/projects_spec.rb deleted file mode 100644 index c633acf85fb..00000000000 --- a/spec/features/ci/projects_spec.rb +++ /dev/null @@ -1,20 +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 -end diff --git a/spec/features/ci/commits_spec.rb b/spec/features/commits_spec.rb index b4236e1e589..1adc2cdf70a 100644 --- a/spec/features/ci/commits_spec.rb +++ b/spec/features/commits_spec.rb @@ -1,14 +1,18 @@ require 'spec_helper' describe "Commits" do - include Ci::CommitsHelper + include CiStatusHelper - context "Authenticated user" do + let(:project) { create(:project) } + + describe "CI" do before do - @commit = FactoryGirl.create :ci_commit - @build = FactoryGirl.create :ci_build, commit: @commit login_as :user - @commit.project.gl_project.team << [@user, :master] + project.team << [@user, :master] + @ci_project = project.ensure_gitlab_ci_project + @commit = FactoryGirl.create :ci_commit, gl_project: project, sha: project.commit.sha + @build = FactoryGirl.create :ci_build, commit: @commit + @generic_status = FactoryGirl.create :generic_commit_status, commit: @commit end before do @@ -17,7 +21,7 @@ describe "Commits" do describe "GET /:project/commits/:sha" do before do - visit ci_commit_path(@commit) + visit ci_status_path(@commit) end it { expect(page).to have_content @commit.sha[0..7] } @@ -25,49 +29,33 @@ describe "Commits" do it { expect(page).to have_content @commit.git_author_name } end - describe "Cancel commit" do + describe "Cancel all builds" do it "cancels commit" do - visit ci_commit_path(@commit) - click_on "Cancel" + visit ci_status_path(@commit) + click_on "Cancel all" + expect(page).to have_content "canceled" + end + end + describe "Cancel build" do + it "cancels build" do + visit ci_status_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) - + visit ci_status_path(@commit) expect(page).not_to have_content ".gitlab-ci.yml not found in this commit" end it "shows warning" do stub_ci_commit_yaml_file(nil) - - visit ci_commit_path(@commit) - + visit ci_status_path(@commit) expect(page).to have_content ".gitlab-ci.yml not found in this commit" end end end - - context "Public pages" do - before do - @commit = FactoryGirl.create :ci_commit - @commit.project.public = true - @commit.project.save - - @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/projects_spec.rb b/spec/features/projects_spec.rb index a362c54b9ad..aac93b17a38 100644 --- a/spec/features/projects_spec.rb +++ b/spec/features/projects_spec.rb @@ -50,7 +50,7 @@ feature 'Project', feature: true do end def remove_project - click_link "Remove project" + click_button "Remove project" fill_in 'confirm_name_input', with: project.path click_button 'Confirm' end |