1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00
Files
til/rails/test-if-an-instance-variable-was-assigned.md

25 lines
874 B
Markdown

# Test If An Instance Variable Was Assigned
When testing Rails controller actions, you'll often be making assertions about
the response to your test request. You may also want to assert about the
instance variables being set, as those are headed for your view layer.
For instance, if an instance variable `@metadata` is supposed to be set in a
`#show` controller action, you can assert that it is with [RSpec's
`assigns`](https://relishapp.com/rspec/rspec-rails/docs/controller-specs):
```ruby
describe "when given valid params" do
it "sets the metadata" do
get :show, params: valid_params
expect(assigns(:metadata)).to match(
identifier: "abc123",
session_id: "fe98f08c-bf2f-4749-9f81-071d9cc7720e",
)
end
end
```
[source](https://stackoverflow.com/questions/2051373/how-to-test-instance-variable-was-instantiated-in-controller-with-rspec)