summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-09-12 09:08:42 -0700
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-09-12 09:08:42 -0700
commit6233fb6b5d4732729b5bd734357f47fa42d34ed3 (patch)
treeb0904394f5771e5fe60c5909ac5180ce5a2cb5b6
parent4782163c7acd3dc972675df4d6378244a8970450 (diff)
parentb6f249dc1f4b1867f8f16a23b30f65f4be8e7fd7 (diff)
downloadgitlab-ce-6233fb6b5d4732729b5bd734357f47fa42d34ed3.tar.gz
Merge pull request #1446 from NARKOZ/refactoring
specs DRY up
-rw-r--r--spec/requests/api/issues_spec.rb10
-rw-r--r--spec/requests/api/projects_spec.rb10
-rw-r--r--spec/requests/api/users_spec.rb10
-rw-r--r--spec/requests/atom/dashboard_issues_spec.rb45
-rw-r--r--spec/requests/atom/dashboard_spec.rb30
-rw-r--r--spec/requests/atom/issues_spec.rb56
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