first of all, let me congrat for the very cool idea Jets is.
After that, I would like to present an issue here that I am facing when trying to test my “hello-jets” app.
I did non want to open an issue on the Github page because I want not sure that was the right place.
I just want to set up a posts#index route:
jets generate controller posts index --no-helper
Then I add the controller spec:
# spec/controllers/posts_controller_spec.rb describe PostsController, type: :controller do it "index returns a success response" do get '/posts' expect(response.status).to eq 200 end end
Then I just run:
bundle exec rspec
Here the error:
1) PostsController index returns a success response Failure/Error: <%= csrf_meta_tags %> ActionView::Template::Error: undefined method `=' for nil:NilClass
It turns out that the issue is
nil in the url_helper.rb
#lib/jets/overrides/rails/url_helper.rb:70 def masked_authenticity_token @masked_authenticity_token ||= SecureRandom.hex(32) # session is nil !!!! session[:authenticity_token] = @masked_authenticity_token end
The nice thing is that when running
jets server the issue is not present and the index route renders successfuly.
This makes me thing that the issue is somewhere in how the spec set up the request, response.
Indeed the request is not having any session instantiated.
Can anyone replicate the issue ?