Project

lindo

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Enables rendering of the body of an HTTP response from inside a functional test.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme
= 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.