diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-08-17 12:14:44 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-08-17 12:16:46 -0500 |
commit | 4a13aa9f34ab4114bc485e1ca8fa0db8daa0394b (patch) | |
tree | 17554a901009603f52be08914636495b06db2e68 /spec/models/legacy_diff_note_spec.rb | |
parent | f3acf9fd248a16665a114bf6cce761e9277c2d5b (diff) | |
download | gitlab-ce-4a13aa9f34ab4114bc485e1ca8fa0db8daa0394b.tar.gz |
Store discussion_id on Note for faster discussion lookup.
Diffstat (limited to 'spec/models/legacy_diff_note_spec.rb')
-rw-r--r-- | spec/models/legacy_diff_note_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/legacy_diff_note_spec.rb b/spec/models/legacy_diff_note_spec.rb index 2cfd26419ca..81517a18b74 100644 --- a/spec/models/legacy_diff_note_spec.rb +++ b/spec/models/legacy_diff_note_spec.rb @@ -73,4 +73,29 @@ describe LegacyDiffNote, models: true do end end end + + describe "#discussion_id" do + let(:note) { create(:note) } + + context "when it is newly created" do + it "has a discussion id" do + expect(note.discussion_id).not_to be_nil + expect(note.discussion_id).to match(/\A\h{40}\z/) + end + end + + context "when it didn't store a discussion id before" do + before do + note.update_column(:discussion_id, nil) + end + + it "has a discussion id" do + # The discussion_id is set in `after_initialize`, so `reload` won't work + reloaded_note = Note.find(note.id) + + expect(reloaded_note.discussion_id).not_to be_nil + expect(reloaded_note.discussion_id).to match(/\A\h{40}\z/) + end + end + end end |