Skip to content
/ arid Public
forked from jsgarvin/arid

Ruby on Rails plugin providing methods for simple and DRY integration testing of conventions-compliant RESTful Rails applications.

License

Notifications You must be signed in to change notification settings

wwidea/arid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

= ActiveResourceIntegrationDsl (ARID)

Provides a framework of common integration tests for RESTful CRUD interactions.

== Installation
script/plugin install git://github.com/jsgarvin/arid.git

== Sample Usage

	class ArticleTest < ActionController::IntegrationTest
	  include ActiveResourceIntegrationDsl
	  
	  def test_some_article_functionality
	  	new_session_as('jonnyg','testing123') do |jon|
	      params = {:article => {
	      		:title => 'Foo Bites Bar',
	      		:content => 'Bar was bitten by Foo yesterday.' 
	      }}
	      jon.builds_story(:params => params)
	      params = {:article => {:title => 'Bar Bitten Badly'}}
	      jon.edits_story(1,:params => params)
	      jon.lists_stories
	      jon.shows_story(1)
	      jon.destroys_story(1)
	    end
	  end
	end

== API
Complete API Documentation @
* Session Instantiation -- ActiveResourceIntegrationDsl  
* Session Methods -- ActiveResourceIntegrationDsl::SessionMethods


== License

Released under the MIT license.

== Author

* Jonathan Garvin ( http://www.5valleys.com )

== Assumptions
The plugin makes certain assumptions about your application.
Some of these can be bypassed or overridden if your app does
not conform.

* You have appropriate map.resources lines in your routes.rb
  for any controllers you intend to test with these methods.
* sessions_path helper method returns the path to a controller
  that controls user logins. (Provided automatically by
  Rails if you have a sessions_controller and routes.rb
  includes "map.resources :sessions".) 
* Your sessions controller accepts parameters in the form of...
  {:user => {:username => 'xxx', :password => 'yyy'}} Override
  by providing your own new_session_as method that generates
  an appropriate session for your app with the user provided.

About

Ruby on Rails plugin providing methods for simple and DRY integration testing of conventions-compliant RESTful Rails applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%