Skip to content
Snippets Groups Projects
Commit af33338b authored by Alexander Matyushentsev's avatar Alexander Matyushentsev
Browse files

Add more information into RSS fead for issues

parent c928accd
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -123,6 +123,8 @@ v 8.8.1
 
v 8.8.0
- Implement GFM references for milestones (Alejandro Rodríguez)
v 8.8.0 (unreleased)
- Add more information into RSS fead for issues.
- Snippets tab under user profile. !4001 (Long Nguyen)
- Fix error when using link to uploads in global snippets
- Fix Error 500 when attempting to retrieve project license when HEAD points to non-existent ref
Loading
Loading
Loading
Loading
@@ -5,10 +5,28 @@ xml.entry do
xml.updated issue.created_at.xmlschema
xml.media :thumbnail, width: "40", height: "40", url: image_url(avatar_icon(issue.author_email))
 
xml.author do |author|
xml.author do
xml.name issue.author_name
xml.email issue.author_email
end
 
xml.summary issue.title
xml.description issue.description if issue.description
xml.milestone issue.milestone.title if issue.milestone
xml.due_date issue.due_date if issue.due_date
unless issue.labels.empty?
xml.labels do
issue.labels.each do |label|
xml.label label.name
end
end
end
if issue.assignee
xml.assignee do
xml.name issue.assignee.name
xml.email issue.assignee.email
end
end
end
Loading
Loading
@@ -2,15 +2,18 @@ require 'spec_helper'
 
describe "Dashboard Issues Feed", feature: true 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) }
let!(:user) { create(:user) }
let!(:project1) { create(:project) }
let!(:project2) { create(:project) }
let!(:milestone1) { create(:milestone, project: project1, title: 'v1') }
let!(:label1) { create(:label, project: project1, title: 'label1') }
let!(:issue1) { create(:issue, author: user, assignee: user, project: project1, milestone: milestone1) }
let!(:issue2) { create(:issue, author: user, assignee: user, project: project2, description: 'test desc') }
 
before do
project1.team << [user, :master]
project2.team << [user, :master]
issue1.labels << label1
end
 
describe "atom feed" do
Loading
Loading
@@ -20,10 +23,24 @@ describe "Dashboard Issues Feed", feature: true do
expect(response_headers['Content-Type']).
to have_content('application/atom+xml')
expect(body).to have_selector('title', text: "#{user.name} issues")
expect(body).to have_selector('author email', text: issue1.author_email)
expect(body).to have_selector('entry summary', text: issue1.title)
expect(body).to have_selector('author email', text: issue2.author_email)
expect(body).to have_selector('entry summary', text: issue2.title)
entry_1 = find(:xpath, "//feed/entry[contains(summary/text(),'#{issue1.title}')]")
expect(entry_1).to be_present
entry_2 = find(:xpath, "//feed/entry[contains(summary/text(),'#{issue2.title}')]")
expect(entry_2).to be_present
expect(entry_1).to have_selector('author email', text: issue1.author_email)
expect(entry_1).to have_selector('assignee email', text: issue1.author_email)
expect(entry_1).to have_selector('labels label', text: label1.title)
expect(entry_1).to have_selector('milestone', text: milestone1.title)
expect(entry_1).not_to have_selector('description')
expect(entry_2).to have_selector('author email', text: issue2.author_email)
expect(entry_2).to have_selector('assignee email', text: issue2.author_email)
expect(entry_2).not_to have_selector('labels')
expect(entry_2).not_to have_selector('milestone')
expect(entry_2).to have_selector('description', text: issue1.description)
end
end
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment