This repository was archived by the owner on Oct 22, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Adds a helper method to your controller and integration tests that automatically opens the response body in the default browser.
License
pelargir/lindo
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
= lindo
Enables rendering of the body of an HTTP response from inside controller and
integration tests. This makes it easy to diagnose problems when building
assert_select statements or just sanity check the output of the test.
== Installation
Install the gem standalone:
sudo gem install lindo
Or install the gem in your Rails project:
config.gem 'lindo' # add this line to environment.rb
rake gems:install
You may have to require and extend the Lindo module from your test or
spec helper if you use sessions in your integration tests:
require 'lindo'
session.extend Lindo
== Usage
Insert the vr method in your functional test immediately after an HTTP
request has been sent:
def test_new
post :new
vr
assert_select "div[id=header]"
end
vr attempts to open the response body in the default web browser. If you want
to open the raw HTML in the default text editor instead, simply pass the :html
symbol to the method:
def test_new
post :new
vr(:html)
...
end
By default, vr looks for an instance variable named @response and calls the #body
method on it. If your page body is stored in a different variable (such as when
testing a mailer) you can pass the raw HTML directly to vr and it will do the
right thing:
def test_mailer
mail = Mailer.create_notification
vr(mail.body)
...
end
== Compatibility
Lindo works with test/spec, test/unit, RSpec, and Cucumber. When testing with
RSpec, ensure your controllers are using integrate_views otherwise nothing will
show up when the browser opens. To use Lindo with Cucumber, a custom step can
be written. It could look something like this:
Then /^render the current page$/ do
extend Lindo
vr
end
== Running Unit Tests
Use the rake command to run the unit tests for the plugin. The tests require
that the Mocha gem be installed locally:
sudo gem install mocha
== Resources
Repository: http://github.com/adeptware/lindo/
Blog: http://adeptware.com/blog
Author: Adeptware, Inc.
About
Adds a helper method to your controller and integration tests that automatically opens the response body in the default browser.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published