Remove URL methods in models
We can use `polymorphic_path` since commit ff93f5a591.
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<span class="related-content-title"><%= t("related_content.content_title.#{related.model_name.singular}") %></span><br>
|
<span class="related-content-title"><%= t("related_content.content_title.#{related.model_name.singular}") %></span><br>
|
||||||
<h3 class="inline-block">
|
<h3 class="inline-block">
|
||||||
<%= link_to related.title, related.url %>
|
<%= link_to related.title, polymorphic_path(related) %>
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user) %>
|
<% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user) %>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ class Budget
|
|||||||
class Investment < ApplicationRecord
|
class Investment < ApplicationRecord
|
||||||
SORTING_OPTIONS = { id: "id", supports: "cached_votes_up" }.freeze
|
SORTING_OPTIONS = { id: "id", supports: "cached_votes_up" }.freeze
|
||||||
|
|
||||||
include Rails.application.routes.url_helpers
|
|
||||||
include Measurable
|
include Measurable
|
||||||
include Sanitizable
|
include Sanitizable
|
||||||
include Taggable
|
include Taggable
|
||||||
@@ -123,10 +122,6 @@ class Budget
|
|||||||
comments.count
|
comments.count
|
||||||
end
|
end
|
||||||
|
|
||||||
def url
|
|
||||||
budget_investment_path(budget, self)
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.sort_by_title
|
def self.sort_by_title
|
||||||
all.sort_by(&:title)
|
all.sort_by(&:title)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
require "numeric"
|
require "numeric"
|
||||||
|
|
||||||
class Debate < ApplicationRecord
|
class Debate < ApplicationRecord
|
||||||
include Rails.application.routes.url_helpers
|
|
||||||
include Flaggable
|
include Flaggable
|
||||||
include Taggable
|
include Taggable
|
||||||
include Conflictable
|
include Conflictable
|
||||||
@@ -53,10 +52,6 @@ class Debate < ApplicationRecord
|
|||||||
|
|
||||||
attr_accessor :link_required
|
attr_accessor :link_required
|
||||||
|
|
||||||
def url
|
|
||||||
debate_path(self)
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.recommendations(user)
|
def self.recommendations(user)
|
||||||
tagged_with(user.interests, any: true).where.not(author_id: user.id)
|
tagged_with(user.interests, any: true).where.not(author_id: user.id)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
class Proposal < ApplicationRecord
|
class Proposal < ApplicationRecord
|
||||||
include Rails.application.routes.url_helpers
|
|
||||||
include Flaggable
|
include Flaggable
|
||||||
include Taggable
|
include Taggable
|
||||||
include Conflictable
|
include Conflictable
|
||||||
@@ -88,10 +87,6 @@ class Proposal < ApplicationRecord
|
|||||||
scope :draft, -> { where(published_at: nil) }
|
scope :draft, -> { where(published_at: nil) }
|
||||||
scope :created_by, ->(author) { where(author: author) }
|
scope :created_by, ->(author) { where(author: author) }
|
||||||
|
|
||||||
def url
|
|
||||||
proposal_path(self)
|
|
||||||
end
|
|
||||||
|
|
||||||
def publish
|
def publish
|
||||||
update!(published_at: Time.current)
|
update!(published_at: Time.current)
|
||||||
send_new_actions_notification_on_published
|
send_new_actions_notification_on_published
|
||||||
|
|||||||
@@ -8,25 +8,25 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
scenario "related contents are listed" do
|
scenario "related contents are listed" do
|
||||||
create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
||||||
|
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
within("#related-content-list") do
|
within("#related-content-list") do
|
||||||
expect(page).to have_content related1.title
|
expect(page).to have_content related1.title
|
||||||
end
|
end
|
||||||
|
|
||||||
visit related1.url
|
visit polymorphic_path(related1)
|
||||||
within("#related-content-list") do
|
within("#related-content-list") do
|
||||||
expect(page).to have_content relationable.title
|
expect(page).to have_content relationable.title
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "related contents list is not rendered if there are no relations" do
|
scenario "related contents list is not rendered if there are no relations" do
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
expect(page).not_to have_css "#related-content-list"
|
expect(page).not_to have_css "#related-content-list"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "related contents can be added" do
|
scenario "related contents can be added" do
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
expect(page).not_to have_css "#related_content"
|
expect(page).not_to have_css "#related_content"
|
||||||
expect(page).to have_css ".add-related-content[aria-expanded='false']"
|
expect(page).to have_css ".add-related-content[aria-expanded='false']"
|
||||||
@@ -36,7 +36,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
expect(page).to have_css ".add-related-content[aria-expanded='true']"
|
expect(page).to have_css ".add-related-content[aria-expanded='true']"
|
||||||
|
|
||||||
within("#related_content") do
|
within("#related_content") do
|
||||||
fill_in "Link to related content", with: "#{url}#{related1.url}"
|
fill_in "Link to related content", with: "#{url}#{polymorphic_path(related1)}"
|
||||||
click_button "Add"
|
click_button "Add"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
expect(page).to have_content related1.title
|
expect(page).to have_content related1.title
|
||||||
end
|
end
|
||||||
|
|
||||||
visit related1.url
|
visit polymorphic_path(related1)
|
||||||
|
|
||||||
within("#related-content-list") do
|
within("#related-content-list") do
|
||||||
expect(page).to have_content relationable.title
|
expect(page).to have_content relationable.title
|
||||||
@@ -53,7 +53,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
click_button "Add related content"
|
click_button "Add related content"
|
||||||
|
|
||||||
within("#related_content") do
|
within("#related_content") do
|
||||||
fill_in "Link to related content", with: "#{url}#{related2.url}"
|
fill_in "Link to related content", with: "#{url}#{polymorphic_path(related2)}"
|
||||||
click_button "Add"
|
click_button "Add"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
|
|
||||||
scenario "if related content URL is invalid returns error" do
|
scenario "if related content URL is invalid returns error" do
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
click_button "Add related content"
|
click_button "Add related content"
|
||||||
|
|
||||||
@@ -78,12 +78,12 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
|
|
||||||
scenario "returns error when relating content URL to itself" do
|
scenario "returns error when relating content URL to itself" do
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
click_button "Add related content"
|
click_button "Add related content"
|
||||||
|
|
||||||
within("#related_content") do
|
within("#related_content") do
|
||||||
fill_in "Link to related content", with: url + relationable.url.to_s
|
fill_in "Link to related content", with: url + polymorphic_path(relationable)
|
||||||
click_button "Add"
|
click_button "Add"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
related = create(:debate, title: "My path is the only one I've walked")
|
related = create(:debate, title: "My path is the only one I've walked")
|
||||||
|
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
click_button "Add related content"
|
click_button "Add related content"
|
||||||
|
|
||||||
@@ -120,12 +120,12 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
scenario "returns an error when the related content already exists" do
|
scenario "returns an error when the related content already exists" do
|
||||||
create(:related_content, parent_relationable: relationable, child_relationable: related1)
|
create(:related_content, parent_relationable: relationable, child_relationable: related1)
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
click_button "Add related content"
|
click_button "Add related content"
|
||||||
|
|
||||||
within("#related_content") do
|
within("#related_content") do
|
||||||
fill_in "url", with: url + related1.url.to_s
|
fill_in "url", with: url + polymorphic_path(related1)
|
||||||
click_button "Add"
|
click_button "Add"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
||||||
|
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
within("#related-content-list") do
|
within("#related-content-list") do
|
||||||
click_link "Yes"
|
click_link "Yes"
|
||||||
@@ -153,7 +153,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
|
||||||
|
|
||||||
login_as(user)
|
login_as(user)
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
within("#related-content-list") do
|
within("#related-content-list") do
|
||||||
click_link "No"
|
click_link "No"
|
||||||
@@ -179,7 +179,7 @@ shared_examples "relationable" do |relationable_model_name|
|
|||||||
|
|
||||||
login_as(user)
|
login_as(user)
|
||||||
|
|
||||||
visit relationable.url
|
visit polymorphic_path(relationable)
|
||||||
|
|
||||||
expect(page).not_to have_css "#related-content-list"
|
expect(page).not_to have_css "#related-content-list"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user