Created
February 14, 2013 23:52
-
-
Save annacruz/4957484 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
it "instantiates record with params" do | |
# require 'pry'; binding.pry | |
url = mock_model(Url) | |
post :create, :original_url => "http://example.org" | |
Url.should_receive(:new).with({"original_url" => "http://example.org"}).and_return(url) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Explicando a spec:
Quando você estiver na sua spec de controller usando algum método do rspec que simula o verbo http da action, o primeiro parâmetro do método será a action e o segundo um hash que será passado para dentro da variável params, isso para o rspec se comportar como se os dados estivessem vindo de um formulário, ex:
Isso acontece, pois como falei o segundo parametro é um hash. O fato de se passar um
:objeto
como chave do hash é para simular o comportamento do objeto no formulário.Por exemplo no seu caso o seu campo
original_url
seria montado algo como...que no controller seria acessado através de
params[:url]
onde url é a chave do hash