Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-21 12:41:37 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-21 12:41:37 +0400
commit03f6a28ec0dab308070e83ec422f12fa289aad9f (patch)
treea2b72dd5944863f38f7c7397590626223ab0fc5a /spec/features/atom
parent9f722427e5835e4aeb5c1dd6a9cc8720b40d87c0 (diff)
move capybara scenarios to spec/features
Diffstat (limited to 'spec/features/atom')
-rw-r--r--spec/features/atom/dashboard_issues_spec.rb24
-rw-r--r--spec/features/atom/dashboard_spec.rb14
-rw-r--r--spec/features/atom/issues_spec.rb34
3 files changed, 72 insertions, 0 deletions
diff --git a/spec/features/atom/dashboard_issues_spec.rb b/spec/features/atom/dashboard_issues_spec.rb
new file mode 100644
index 00000000000..6f5d51d16b6
--- /dev/null
+++ b/spec/features/atom/dashboard_issues_spec.rb
@@ -0,0 +1,24 @@
+require 'spec_helper'
+
+describe "Dashboard Issues Feed" do
+ describe "GET /issues" do
+ let!(:user) { create(:user) }
+ let!(:project1) { create(:project) }
+ let!(:project2) { create(:project) }
+ let!(:issue1) { create(:issue, author: user, assignee: user, project: project1) }
+ let!(:issue2) { create(:issue, author: user, assignee: user, project: project2) }
+
+ describe "atom feed" do
+ it "should render atom feed via private token" do
+ visit issues_dashboard_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)
+ end
+ end
+ end
+end
diff --git a/spec/features/atom/dashboard_spec.rb b/spec/features/atom/dashboard_spec.rb
new file mode 100644
index 00000000000..6257ad5c895
--- /dev/null
+++ b/spec/features/atom/dashboard_spec.rb
@@ -0,0 +1,14 @@
+require 'spec_helper'
+
+describe "Dashboard Feed" do
+ describe "GET /" do
+ let!(:user) { create(:user) }
+
+ 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
+ end
+end
diff --git a/spec/features/atom/issues_spec.rb b/spec/features/atom/issues_spec.rb
new file mode 100644
index 00000000000..0488c1f2266
--- /dev/null
+++ b/spec/features/atom/issues_spec.rb
@@ -0,0 +1,34 @@
+require 'spec_helper'
+
+describe "Issues Feed" do
+ describe "GET /issues" do
+ let!(:user) { create(:user) }
+ let!(:project) { create(:project, namespace: user.namespace) }
+ let!(:issue) { create(:issue, author: user, project: project) }
+
+ before { project.team << [user, :developer] }
+
+ 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
+
+ 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)
+ end
+ end
+ end
+end