remove duplicate code from atom request specs

This commit is contained in:
Nihad Abbasov 2012-09-12 05:01:50 -07:00
parent 46b9aafc39
commit a87c268f7d
3 changed files with 50 additions and 81 deletions

View file

@ -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
let!(:user) { Factory :user }
let!(:project) { Factory :project, owner: user }
let!(:issue) { Factory :issue, author: user, project: project }
visit project_issues_path(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" do
visit project_issues_path(project, :atom)
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
it "should render atom feed via private token" do
logout
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