Language Selector: Prevent duplicate locale= keys

This commit is contained in:
Sebastian Serth
2023-06-23 22:19:49 +02:00
parent 9b7fd0fa7f
commit 1296a12a6d
2 changed files with 16 additions and 1 deletions

View File

@ -86,7 +86,7 @@ module AuthenticatedUrlHelper
parsed_url = URI.parse url
# Add the given parameters to the query string
query_params = CGI.parse(parsed_url.query || '')
query_params = CGI.parse(parsed_url.query || '').with_indifferent_access
query_params.merge!(parameters)
# Add the query string back to the URL

View File

@ -0,0 +1,15 @@
# frozen_string_literal: true
require 'rails_helper'
describe AuthenticatedUrlHelper do
describe '#add_query_parameters' do
it 'adds the given parameters to the given url' do
expect(described_class.add_query_parameters(root_url, {foo: 'bar'})).to eq(root_url(foo: 'bar'))
end
it 'does not duplicate existing parameters' do
expect(described_class.add_query_parameters(root_url(foo: 'bar'), {foo: 'baz'})).to eq(root_url(foo: 'baz'))
end
end
end