From 682cfbb4dc328a8ffa597ddbb337673ed5dc844f Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Fri, 19 May 2017 01:37:53 -0500 Subject: Fix system note comparison and standardize note setup Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/32551 --- spec/features/issues/note_polling_spec.rb | 24 ++++++++++++++++++++---- spec/javascripts/notes_spec.js | 1 + 2 files changed, 21 insertions(+), 4 deletions(-) (limited to 'spec') diff --git a/spec/features/issues/note_polling_spec.rb b/spec/features/issues/note_polling_spec.rb index da81fa4e367..80f57906506 100644 --- a/spec/features/issues/note_polling_spec.rb +++ b/spec/features/issues/note_polling_spec.rb @@ -31,12 +31,12 @@ feature 'Issue notes polling', :feature, :js do it 'has .original-note-content to compare against' do expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) update_note(existing_note, updated_text) expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) end it 'displays the updated content' do @@ -98,12 +98,28 @@ feature 'Issue notes polling', :feature, :js do it 'has .original-note-content to compare against' do expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) update_note(existing_note, updated_text) expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) + end + end + + context 'system notes' do + let(:user) { create(:user) } + let(:note_text) { "Some system note" } + let!(:system_note) { create(:system_note, noteable: issue, project: project, author: user, note: note_text) } + + before do + login_as(user) + visit namespace_project_issue_path(project.namespace, project, issue) + end + + it 'has .original-note-content to compare against' do + expect(page).to have_selector("#note_#{system_note.id}", text: note_text) + expect(page).to have_selector("#note_#{system_note.id} .original-note-content", count: 1, visible: false) end end end diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index d3494aaa94f..025f08ee332 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -139,6 +139,7 @@ import '~/notes'; ]); notes = jasmine.createSpyObj('notes', [ + 'setupNewNote', 'refresh', 'collapseLongCommitList', 'updateNotesCount', -- cgit v1.2.1