diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-11-29 12:25:17 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-11-29 12:25:17 +0000 |
commit | 80b12ef56782a11a18b633647cead4847c55c9ab (patch) | |
tree | 3e2e70f29ae60d7892da79bd3687e777eab6153f | |
parent | a3ba1967b2ac1789f048aec3250fb6f95b6f6456 (diff) |
Standardize slug generation for external users so that it uses the same underlying method as other slug generation. Fixes #567.
-rw-r--r-- | app/models/info_request.rb | 2 | ||||
-rw-r--r-- | spec/models/info_request_spec.rb | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb index 194f8e105..0a06b84a2 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -138,7 +138,7 @@ class InfoRequest < ActiveRecord::Base if external_user_name.nil? fake_slug = "anonymous" else - fake_slug = external_user_name.parameterize + fake_slug = MySociety::Format.simplify_url_part(external_user_name, 'external_user', 32) end (public_body.url_name || "") + "_" + fake_slug else diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb index 2aeac2fec..544852f91 100644 --- a/spec/models/info_request_spec.rb +++ b/spec/models/info_request_spec.rb @@ -2,6 +2,22 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe InfoRequest do + describe 'when generating a user name slug' do + + before do + @public_body = mock_model(PublicBody, :url_name => 'example_body', + :eir_only? => false) + @info_request = InfoRequest.new(:external_url => 'http://www.example.com', + :external_user_name => 'Example User', + :public_body => @public_body) + end + + it 'should generate a slug for an example user name' do + @info_request.user_name_slug.should == 'example_body_example_user' + end + + end + describe "guessing a request from an email" do before(:each) do |