Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
# The following is based on an experimental Rails-Story adapter # in RSpec's trunk at rev2480. # # You run it by standing in RAILS_ROOT and saying: # >ruby stories/add_person.rb # # Please forgive the lack of RESTful convention (get '/people/create' instead of '/people/new') - # this works with the existing example app, which is, well, OLD. # in RAILS_ROOT/stories/helper.rb ENV["RAILS_ENV"] = "test" require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'spec/rails/story_adapter' # in RAILS_ROOT/stories/add_person.rb require File.join(File.dirname(__FILE__), "helper") Story "Add Person", %{ As an admin I want to add people to the system So that I show how many people use my system }, :type => RailsStory do Scenario "Successfully add person" do Given "no people in the system" do Person.destroy_all end When "creating a new person named", "Dan" do |name| post "/people/create", :person => {:name => name} end Then "viewer should see", "/people/list" do |template| follow_redirect! response.should render_template(template) end Then "list should include", "Dan" do |name| response.should have_text(/#{name}/) end end Scenario "Redirect to create form on failed create" do Given "no people in the system" do Person.destroy_all end When "creating a new person with no name" do post "/people/create", :person => {:name => nil} end Then "viewer should see", "/people/create" do |template| assert_template template end Then "list should not include", "Dan" do |name| response.should_not have_text(/#{name}/) end end end
This paste will be private.
From the Design Piracy series on my blog: