diff options
| author | Louise Crow <louise.crow@gmail.com> | 2014-01-28 09:17:45 +0000 | 
|---|---|---|
| committer | Louise Crow <louise.crow@gmail.com> | 2014-01-28 09:17:45 +0000 | 
| commit | d9136f001e20df18928c1a6818347930fae27a52 (patch) | |
| tree | 6fde8e2cd9e11dab65607a4b73eef8b095966527 | |
| parent | bc6531d545810935bec8e847f59830d23e509e13 (diff) | |
Handle a request with no user in the show request function0.16.0.5hotfix/0.16.0.5
| -rw-r--r-- | app/controllers/api_controller.rb | 5 | ||||
| -rw-r--r-- | spec/controllers/api_controller_spec.rb | 12 | 
2 files changed, 16 insertions, 1 deletions
| diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 00a3beebd..e6b0c121a 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -16,11 +16,14 @@ class ApiController < ApplicationController              :status => @request.calculate_status,              :public_body_url => make_url("body", @request.public_body.url_name), -            :requestor_url => make_url("user", @request.user.url_name), +              :request_email => @request.incoming_email,              :request_text => @request.last_event_forming_initial_request.outgoing_message.body,          } +        if @request.user +            @request_data[:requestor_url] = make_url("user", @request.user.url_name) +        end          render :json => @request_data      end diff --git a/spec/controllers/api_controller_spec.rb b/spec/controllers/api_controller_spec.rb index 8e9d17fbe..2b1c515f7 100644 --- a/spec/controllers/api_controller_spec.rb +++ b/spec/controllers/api_controller_spec.rb @@ -282,6 +282,18 @@ describe ApiController, "when using the API" do          # check, which does not really test anything at all.      end +    it 'should show information about an external request' do +        info_request = info_requests(:external_request) +        get :show_request, +            :k => public_bodies(:geraldine_public_body).api_key, +            :id => info_request.id + +        response.should be_success +        assigns[:request].id.should == info_request.id +        r = ActiveSupport::JSON.decode(response.body) +        r["title"].should == info_request.title +    end +      it "should show an Atom feed of new request events" do          get :body_request_events,              :id => public_bodies(:geraldine_public_body).id, | 
