remove duplicate code from atom request specs
This commit is contained in:
parent
46b9aafc39
commit
a87c268f7d
|
@ -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
|
||||
|
|
|
@ -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
|
||||
let!(:user) { Factory :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
|
||||
|
||||
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")
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue