Fix admin notification with relative URLs
The test was passing because it was using the rack driver, but on real browsers it wasn't generating the expected URL.
This commit is contained in:
@@ -42,7 +42,7 @@ class AdminNotification < ApplicationRecord
|
||||
def complete_link_url
|
||||
return unless link.present?
|
||||
|
||||
unless self.link[/\Ahttp:\/\//] || self.link[/\Ahttps:\/\//]
|
||||
unless link =~ /\A(http:\/\/|https:\/\/|\/)/
|
||||
self.link = "http://#{self.link}"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -43,6 +43,13 @@ describe AdminNotification do
|
||||
expect(admin_notification.link).to eq("http://www.lol.consul.dev")
|
||||
end
|
||||
|
||||
it "does not modify a relative link" do
|
||||
admin_notification.link = "/proposals"
|
||||
|
||||
expect(admin_notification).to be_valid
|
||||
expect(admin_notification.link).to eq("/proposals")
|
||||
end
|
||||
|
||||
it "does not modify a link with http://" do
|
||||
admin_notification.link = "http://lol.consul.dev"
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ describe "Notifications" do
|
||||
expect(page.current_url).to eq("https://www.external.link.dev/")
|
||||
end
|
||||
|
||||
scenario "With internal link" do
|
||||
scenario "With internal link", :js do
|
||||
admin_notification.update!(link: "/stats")
|
||||
|
||||
visit notifications_path
|
||||
|
||||
Reference in New Issue
Block a user