diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-09-12 09:08:42 -0700 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-09-12 09:08:42 -0700 |
commit | 6233fb6b5d4732729b5bd734357f47fa42d34ed3 (patch) | |
tree | b0904394f5771e5fe60c5909ac5180ce5a2cb5b6 | |
parent | 4782163c7acd3dc972675df4d6378244a8970450 (diff) | |
parent | b6f249dc1f4b1867f8f16a23b30f65f4be8e7fd7 (diff) | |
download | gitlab-ce-6233fb6b5d4732729b5bd734357f47fa42d34ed3.tar.gz |
Merge pull request #1446 from NARKOZ/refactoring
specs DRY up
-rw-r--r-- | spec/requests/api/issues_spec.rb | 10 | ||||
-rw-r--r-- | spec/requests/api/projects_spec.rb | 10 | ||||
-rw-r--r-- | spec/requests/api/users_spec.rb | 10 | ||||
-rw-r--r-- | spec/requests/atom/dashboard_issues_spec.rb | 45 | ||||
-rw-r--r-- | spec/requests/atom/dashboard_spec.rb | 30 | ||||
-rw-r--r-- | spec/requests/atom/issues_spec.rb | 56 |
6 files changed, 68 insertions, 93 deletions
diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 293ea83ae6c..442e9c730dc 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -9,12 +9,14 @@ describe Gitlab::API do before { project.add_access(user, :read) } describe "GET /issues" do - it "should return authentication error" do - get api("/issues") - response.status.should == 401 + context "when unauthenticated" do + it "should return authentication error" do + get api("/issues") + response.status.should == 401 + end end - describe "authenticated GET /issues" do + context "when authenticated" do it "should return an array of issues" do get api("/issues", user) response.status.should == 200 diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 9388403f762..570a4bc2165 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -13,12 +13,14 @@ describe Gitlab::API do before { project.add_access(user, :read) } describe "GET /projects" do - it "should return authentication error" do - get api("/projects") - response.status.should == 401 + context "when unauthenticated" do + it "should return authentication error" do + get api("/projects") + response.status.should == 401 + end end - describe "authenticated GET /projects" do + context "when authenticated" do it "should return an array of projects" do get api("/projects", user) response.status.should == 200 diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb index d791962adc2..e25fe1341d5 100644 --- a/spec/requests/api/users_spec.rb +++ b/spec/requests/api/users_spec.rb @@ -6,12 +6,14 @@ describe Gitlab::API do let(:user) { Factory :user } describe "GET /users" do - it "should return authentication error" do - get api("/users") - response.status.should == 401 + context "when unauthenticated" do + it "should return authentication error" do + get api("/users") + response.status.should == 401 + end end - describe "authenticated GET /users" do + context "when authenticated" do it "should return an array of users" do get api("/users", user) response.status.should == 200 diff --git a/spec/requests/atom/dashboard_issues_spec.rb b/spec/requests/atom/dashboard_issues_spec.rb index 79a9b8ef996..8d1111fc770 100644 --- a/spec/requests/atom/dashboard_issues_spec.rb +++ b/spec/requests/atom/dashboard_issues_spec.rb @@ -1,42 +1,23 @@ require 'spec_helper' -describe "User Issues Dashboard" do +describe "Dashboard Issues Feed" do describe "GET /issues" do - before do + let!(:user) { Factory :user } + let!(:project1) { Factory :project } + let!(:project2) { Factory :project } + let!(:issue1) { Factory :issue, author: user, assignee: user, project: project1 } + let!(:issue2) { Factory :issue, author: user, assignee: user, project: project2 } - login_as :user - - @project1 = Factory :project - - @project2 = Factory :project - - @project1.add_access(@user, :read, :write) - @project2.add_access(@user, :read, :write) - - @issue1 = Factory :issue, - author: @user, - assignee: @user, - project: @project1 - - @issue2 = Factory :issue, - author: @user, - assignee: @user, - project: @project2 - - visit dashboard_issues_path - end - - describe "atom feed", js: false do + describe "atom feed" do it "should render atom feed via private token" do - logout - visit dashboard_issues_path(:atom, private_token: @user.private_token) + visit dashboard_issues_path(:atom, private_token: user.private_token) page.response_headers['Content-Type'].should have_content("application/atom+xml") - page.body.should have_selector("title", text: "#{@user.name} issues") - page.body.should have_selector("author email", text: @issue1.author_email) - page.body.should have_selector("entry summary", text: @issue1.title) - page.body.should have_selector("author email", text: @issue2.author_email) - page.body.should have_selector("entry summary", text: @issue2.title) + page.body.should have_selector("title", text: "#{user.name} issues") + page.body.should have_selector("author email", text: issue1.author_email) + page.body.should have_selector("entry summary", text: issue1.title) + page.body.should have_selector("author email", text: issue2.author_email) + page.body.should have_selector("entry summary", text: issue2.title) end end end diff --git a/spec/requests/atom/dashboard_spec.rb b/spec/requests/atom/dashboard_spec.rb index 00c7a5255ca..9459dd01e22 100644 --- a/spec/requests/atom/dashboard_spec.rb +++ b/spec/requests/atom/dashboard_spec.rb @@ -1,27 +1,21 @@ require 'spec_helper' -describe "User Dashboard" do - before { login_as :user } - +describe "Dashboard Feed" do describe "GET /" do - before do - @project = Factory :project, owner: @user - @project.add_access(@user, :read) - visit dashboard_path - end + let!(:user) { Factory :user } - it "should render projects atom feed via private token" do - logout - - visit dashboard_path(:atom, private_token: @user.private_token) - page.body.should have_selector("feed title") + context "projects atom feed via private token" do + it "should render projects atom feed" do + visit dashboard_path(:atom, private_token: user.private_token) + page.body.should have_selector("feed title") + end end - it "should not render projects page via private token" do - logout - - visit dashboard_path(private_token: @user.private_token) - current_path.should == new_user_session_path + context "projects page via private token" do + it "should redirect to login page" do + visit dashboard_path(private_token: user.private_token) + current_path.should == new_user_session_path + end end end end diff --git a/spec/requests/atom/issues_spec.rb b/spec/requests/atom/issues_spec.rb index 468d1b2260a..c8671979870 100644 --- a/spec/requests/atom/issues_spec.rb +++ b/spec/requests/atom/issues_spec.rb @@ -1,40 +1,34 @@ require 'spec_helper' -describe "Issues" do - let(:project) { Factory :project } - - before do - login_as :user - project.add_access(@user, :read, :write) - end - +describe "Issues Feed" do describe "GET /issues" do - before do - @issue = Factory :issue, - author: @user, - assignee: @user, - project: project - - visit project_issues_path(project) - end - - it "should render atom feed" do - visit project_issues_path(project, :atom) - - page.response_headers['Content-Type'].should have_content("application/atom+xml") - page.body.should have_selector("title", text: "#{project.name} issues") - page.body.should have_selector("author email", text: @issue.author_email) - page.body.should have_selector("entry summary", text: @issue.title) + let!(:user) { Factory :user } + let!(:project) { Factory :project, owner: user } + let!(:issue) { Factory :issue, author: user, project: project } + + before { project.add_access(user, :read, :write) } + + context "when authenticated" do + it "should render atom feed" do + login_with user + visit project_issues_path(project, :atom) + + page.response_headers['Content-Type'].should have_content("application/atom+xml") + page.body.should have_selector("title", text: "#{project.name} issues") + page.body.should have_selector("author email", text: issue.author_email) + page.body.should have_selector("entry summary", text: issue.title) + end end - it "should render atom feed via private token" do - logout - visit project_issues_path(project, :atom, private_token: @user.private_token) + context "when authenticated via private token" do + it "should render atom feed" do + visit project_issues_path(project, :atom, private_token: user.private_token) - page.response_headers['Content-Type'].should have_content("application/atom+xml") - page.body.should have_selector("title", text: "#{project.name} issues") - page.body.should have_selector("author email", text: @issue.author_email) - page.body.should have_selector("entry summary", text: @issue.title) + page.response_headers['Content-Type'].should have_content("application/atom+xml") + page.body.should have_selector("title", text: "#{project.name} issues") + page.body.should have_selector("author email", text: issue.author_email) + page.body.should have_selector("entry summary", text: issue.title) + end end end end |