dashboard_issues_spec.rb 1.13 KB
Newer Older
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
1 2
require 'spec_helper'

3
describe "Dashboard Issues Feed" do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
4
  describe "GET /issues" do
5 6 7 8 9
    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) }
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
10

11 12 13 14 15
    before do
      project1.team << [user, :master]
      project2.team << [user, :master]
    end

16
    describe "atom feed" do
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
17
      it "should render atom feed via private token" do
18
        visit issues_dashboard_path(:atom, private_token: user.private_token)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
19 20

        page.response_headers['Content-Type'].should have_content("application/atom+xml")
21 22 23 24 25
        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)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
26 27 28 29
      end
    end
  end
end