refactors notification helpers
This commit is contained in:
@@ -1,13 +1,4 @@
|
||||
module NotificationsHelper
|
||||
|
||||
def notification_action(notification)
|
||||
case notification.notifiable_type
|
||||
when "ProposalNotification"
|
||||
"proposal_notification"
|
||||
when "Comment"
|
||||
"replies_to"
|
||||
else
|
||||
"comments_on"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -33,6 +33,17 @@ class Notification < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def notifiable_action
|
||||
case notifiable_type
|
||||
when "ProposalNotification"
|
||||
"proposal_notification"
|
||||
when "Comment"
|
||||
"replies_to"
|
||||
else
|
||||
"comments_on"
|
||||
end
|
||||
end
|
||||
|
||||
def linkable_resource
|
||||
notifiable.is_a?(ProposalNotification) ? notifiable.proposal : notifiable
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<%= link_to notification do %>
|
||||
<p>
|
||||
<em>
|
||||
<%= t("notifications.index.#{notification_action(notification)}",
|
||||
<%= t("notifications.index.#{notification.notifiable_action}",
|
||||
count: notification.counter) %>
|
||||
</em>
|
||||
<strong><%= notification.notifiable_title %></strong>
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe NotificationsHelper do
|
||||
|
||||
describe "#notification_action" do
|
||||
let(:debate) { create :debate }
|
||||
let(:debate_comment) { create :comment, commentable: debate }
|
||||
|
||||
context "when action was comment on a debate" do
|
||||
it "returns correct text when someone comments on your debate" do
|
||||
notification = create :notification, notifiable: debate
|
||||
expect(notification_action(notification)).to eq "comments_on"
|
||||
end
|
||||
end
|
||||
|
||||
context "when action was comment on a debate" do
|
||||
it "returns correct text when someone replies to your comment" do
|
||||
notification = create :notification, notifiable: debate_comment
|
||||
expect(notification_action(notification)).to eq "replies_to"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -47,4 +47,35 @@ describe Notification do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#notification_action" do
|
||||
|
||||
context "when action was comment on a debate" do
|
||||
it "returns correct text when someone comments on your debate" do
|
||||
debate = create(:debate)
|
||||
notification = create :notification, notifiable: debate
|
||||
|
||||
expect(notification.notifiable_action).to eq "comments_on"
|
||||
end
|
||||
end
|
||||
|
||||
context "when action was comment on a debate" do
|
||||
it "returns correct text when someone replies to your comment" do
|
||||
debate = create(:debate)
|
||||
debate_comment = create :comment, commentable: debate
|
||||
notification = create :notification, notifiable: debate_comment
|
||||
|
||||
expect(notification.notifiable_action).to eq "replies_to"
|
||||
end
|
||||
end
|
||||
|
||||
context "when action was proposal notification" do
|
||||
it "returns correct text when the author created a proposal notification" do
|
||||
proposal_notification = create(:proposal_notification)
|
||||
notification = create :notification, notifiable: proposal_notification
|
||||
|
||||
expect(notification.notifiable_action).to eq "proposal_notification"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user