rspec controller test, get with multiple parameters

11,587

The format: :json part must be on the 2nd argument.

This works pretty well

params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString", format: :json}
get :show, params
Share:
11,587

Related videos on Youtube

Arnold Roa
Author by

Arnold Roa

Updated on July 08, 2022

Comments

  • Arnold Roa
    Arnold Roa almost 2 years

    I want to test to a controller that works on browser and looks like this

    http://url.dev/jobs/1445.json?project_id=1144&accesskey=MyString
    

    this is what i have on my controler spec file:

    params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString"}
    get :show, params, format: :json
    

    On the log i see:

    Processing by JobsController#show as HTML
        Parameters: {"id"=>"1440"}
    

    Why it is trying to process as HTML and not as JSON? Why it only receives the id parameter?

    Also, if I do this:

    get :show, id: params[:id], format: :json
    

    It tries to process using JSON but it dont works because I need the other params.