Commit b805ae34 authored by Douwe Maan's avatar Douwe Maan

Merge branch 'jej-fix-csv-fail-on-authorless-issue' into 'master'

Prevented Issues CSV export failing when author is nil

Closes #1936

See merge request !1454
parents 214612df 2d68f1fb
...@@ -49,6 +49,7 @@ module Issuable ...@@ -49,6 +49,7 @@ module Issuable
delegate :name, delegate :name,
:email, :email,
to: :author, to: :author,
allow_nil: true,
prefix: true prefix: true
delegate :name, delegate :name,
......
...@@ -44,6 +44,34 @@ describe Issue, "Issuable" do ...@@ -44,6 +44,34 @@ describe Issue, "Issuable" do
it { expect(described_class).to respond_to(:assigned) } it { expect(described_class).to respond_to(:assigned) }
end end
describe 'author_name' do
it 'is delegated to author' do
expect(issue.author_name).to eq issue.author.name
end
it 'returns nil when author is nil' do
issue.author_id = nil
issue.save(validate: false)
expect(issue.author_name).to eq nil
end
end
describe 'assignee_name' do
it 'is delegated to assignee' do
issue.update!(assignee: create(:user))
expect(issue.assignee_name).to eq issue.assignee.name
end
it 'returns nil when assignee is nil' do
issue.assignee_id = nil
issue.save(validate: false)
expect(issue.assignee_name).to eq nil
end
end
describe "before_save" do describe "before_save" do
describe "#update_cache_counts" do describe "#update_cache_counts" do
context "when previous assignee exists" do context "when previous assignee exists" do
......
...@@ -108,4 +108,12 @@ describe Issues::ExportCsvService, services: true do ...@@ -108,4 +108,12 @@ describe Issues::ExportCsvService, services: true do
expect(csv[0]['Labels']).to eq nil expect(csv[0]['Labels']).to eq nil
end end
end end
it 'succeeds when author is non-existent' do
issue.author_id = 99999999
issue.save(validate: false)
expect(csv[0]['Author']).to eq nil
expect(csv[0]['Author Username']).to eq nil
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment