Skip to content

Commit

Permalink
サイト内通知で質問のタイトルが表示されるようにした
Browse files Browse the repository at this point in the history
  • Loading branch information
tksmasaki committed Mar 4, 2022
1 parent b179da1 commit 8c2e5d3
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 18 deletions.
2 changes: 1 addition & 1 deletion app/models/notification.rb
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ def came_question(question, receiver)
user: receiver,
sender: question.sender,
link: Rails.application.routes.url_helpers.polymorphic_path(question),
message: "#{question.user.login_name}さんから質問がありました。",
message: "#{question.user.login_name}さんから質問「#{question.title}」が投稿されました。",
read: false
)
end
Expand Down
20 changes: 5 additions & 15 deletions test/system/notification/questions_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

class Notification::QuestionsTest < ApplicationSystemTestCase
setup do
@notice_text = 'hatsunoさんから質問がありました。'
@notice_kind = Notification.kinds['came_question']
@notified_count = Notification.where(kind: @notice_kind).size
@mentor_count = User.mentor.size
Expand All @@ -16,15 +15,12 @@ class Notification::QuestionsTest < ApplicationSystemTestCase
fill_in('question[title]', with: 'メンターに質問!!')
fill_in('question[description]', with: '通知行ってますか?')
end
first('.select2-selection--single').click
find('li', text: '[Mac OS X] OS X Mountain Lionをクリーンインストールする').click
click_button '登録する'
assert_text '質問を作成しました。'

visit_with_auth '/notifications', 'mentormentaro'

within first('.thread-list-item.is-unread') do
assert_text @notice_text
assert_text 'hatsunoさんから質問「メンターに質問!!」が投稿されました。'
end

assert_equal @notified_count + @mentor_count, Notification.where(kind: @notice_kind).size
Expand All @@ -36,17 +32,11 @@ class Notification::QuestionsTest < ApplicationSystemTestCase
fill_in('question[title]', with: '皆さんに質問!!')
fill_in('question[description]', with: '通知行ってますか?')
end
first('.select2-selection--single').click
find('li', text: '[Mac OS X] OS X Mountain Lionをクリーンインストールする').click
click_button '登録する'
logout
assert_text '質問を作成しました。'

login_user users(:mentormentaro).login_name, 'testtest'
# 通知メッセージが非表示項目でassert_textでは取得できないため、findでvisible指定
# 存在時、findは複数取得してエラーになるためassert_raisesにて検証
assert_raises Capybara::ElementNotFound do
find('mentormentaroさんから質問がありました。', visible: false)
end
logout
visit '/notifications'
assert_selector '.page-header__title', text: '通知'
assert_no_text 'mentormentaroさんから質問「皆さんに質問!!」が投稿されました。'
end
end
4 changes: 2 additions & 2 deletions test/system/questions_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ class QuestionsTest < ApplicationSystemTestCase

visit_with_auth '/notifications', 'komagata'
assert_text 'yameoさんが退会しました。'
assert_text 'kimuraさんから質問がありました。'
assert_text 'kimuraさんから質問「タイトルtest」が投稿されました。'

visit_with_auth '/questions', 'kimura'
click_on 'タイトルtest'
Expand All @@ -122,7 +122,7 @@ class QuestionsTest < ApplicationSystemTestCase

visit_with_auth '/notifications', 'komagata'
assert_text 'yameoさんが退会しました。'
assert_no_text 'kimuraさんから質問がありました。'
assert_no_text 'kimuraさんから質問「タイトルtest」が投稿されました。'
end

test 'admin can update and delete any questions' do
Expand Down

0 comments on commit 8c2e5d3

Please sign in to comment.