diff options
Diffstat (limited to 'spec/models/state_note_spec.rb')
-rw-r--r-- | spec/models/state_note_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/models/state_note_spec.rb b/spec/models/state_note_spec.rb new file mode 100644 index 00000000000..d3409315e41 --- /dev/null +++ b/spec/models/state_note_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe StateNote do + describe '.from_event' do + let_it_be(:author) { create(:user) } + let_it_be(:project) { create(:project, :repository) } + let_it_be(:noteable) { create(:issue, author: author, project: project) } + + ResourceStateEvent.states.each do |state, _value| + context "with event state #{state}" do + let_it_be(:event) { create(:resource_state_event, issue: noteable, state: state, created_at: '2020-02-05') } + + subject { described_class.from_event(event, resource: noteable, resource_parent: project) } + + it_behaves_like 'a system note', exclude_project: true do + let(:action) { state.to_s } + end + + it 'contains the expected values' do + expect(subject.author).to eq(author) + expect(subject.created_at).to eq(event.created_at) + expect(subject.note_html).to eq("<p dir=\"auto\">#{state}</p>") + end + end + end + end +end |