diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-21 10:41:37 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-21 10:41:37 +0200 |
commit | 03f6a28ec0dab308070e83ec422f12fa289aad9f (patch) | |
tree | a2b72dd5944863f38f7c7397590626223ab0fc5a /spec/features/atom | |
parent | 9f722427e5835e4aeb5c1dd6a9cc8720b40d87c0 (diff) | |
download | gitlab-ce-03f6a28ec0dab308070e83ec422f12fa289aad9f.tar.gz |
move capybara scenarios to spec/features
Diffstat (limited to 'spec/features/atom')
-rw-r--r-- | spec/features/atom/dashboard_issues_spec.rb | 24 | ||||
-rw-r--r-- | spec/features/atom/dashboard_spec.rb | 14 | ||||
-rw-r--r-- | spec/features/atom/issues_spec.rb | 34 |
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 |