From 01caef8ebfa67bd7d3d3cde97ab6cbc5e5b1417a Mon Sep 17 00:00:00 2001 From: Dominic Dagradi Date: Sun, 28 Aug 2011 14:46:14 -0400 Subject: [PATCH 1/2] added rspec, fabrication, cucumber, fixed requiring lib --- .rspec | 1 + Gemfile | 5 + Gemfile.lock | 51 +++++ config/application.rb | 5 +- config/cucumber.yml | 8 + config/database.yml | 5 +- db/schema.rb | 16 ++ features/step_definitions/web_steps.rb | 211 +++++++++++++++++++++ features/support/env.rb | 50 +++++ features/support/paths.rb | 33 ++++ features/support/selectors.rb | 39 ++++ lib/tasks/cucumber.rake | 65 +++++++ script/cucumber | 10 + spec/controllers/static_controller_spec.rb | 5 + spec/helpers/static_helper_spec.rb | 15 ++ spec/spec_helper.rb | 27 +++ test/fixtures/.gitkeep | 0 test/functional/.gitkeep | 0 test/functional/static_controller_test.rb | 7 - test/integration/.gitkeep | 0 test/performance/browsing_test.rb | 12 -- test/test_helper.rb | 13 -- test/unit/.gitkeep | 0 test/unit/helpers/static_helper_test.rb | 4 - 24 files changed, 543 insertions(+), 39 deletions(-) create mode 100644 .rspec create mode 100644 config/cucumber.yml create mode 100644 db/schema.rb create mode 100644 features/step_definitions/web_steps.rb create mode 100644 features/support/env.rb create mode 100644 features/support/paths.rb create mode 100644 features/support/selectors.rb create mode 100644 lib/tasks/cucumber.rake create mode 100755 script/cucumber create mode 100644 spec/controllers/static_controller_spec.rb create mode 100644 spec/helpers/static_helper_spec.rb create mode 100644 spec/spec_helper.rb delete mode 100644 test/fixtures/.gitkeep delete mode 100644 test/functional/.gitkeep delete mode 100644 test/functional/static_controller_test.rb delete mode 100644 test/integration/.gitkeep delete mode 100644 test/performance/browsing_test.rb delete mode 100644 test/test_helper.rb delete mode 100644 test/unit/.gitkeep delete mode 100644 test/unit/helpers/static_helper_test.rb diff --git a/.rspec b/.rspec new file mode 100644 index 00000000..53607ea5 --- /dev/null +++ b/.rspec @@ -0,0 +1 @@ +--colour diff --git a/Gemfile b/Gemfile index 8a5f519d..a92b956a 100644 --- a/Gemfile +++ b/Gemfile @@ -19,3 +19,8 @@ gem 'jquery-rails' # Use unicorn as the web server gem 'unicorn' +group :development, :test do + gem 'fabrication' + gem 'rspec-rails' + gem 'cucumber-rails' +end \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 2a7d1271..cd2bfd5d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -33,6 +33,15 @@ GEM arel (2.2.1) bcrypt-ruby (2.1.4) builder (3.0.0) + capybara (1.0.1) + mime-types (>= 1.16) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + selenium-webdriver (~> 2.0) + xpath (~> 0.1.4) + childprocess (0.2.2) + ffi (~> 1.0.6) coffee-rails (3.1.0.rc.6) coffee-script (>= 2.2.0) railties (~> 3.1.0.rc1) @@ -40,9 +49,24 @@ GEM coffee-script-source execjs coffee-script-source (1.1.2) + cucumber (1.0.2) + builder (>= 2.1.2) + diff-lcs (>= 1.1.2) + gherkin (~> 2.4.5) + json (>= 1.4.6) + term-ansicolor (>= 1.0.5) + cucumber-rails (1.0.2) + capybara (>= 1.0.0) + cucumber (~> 1.0.0) + nokogiri (>= 1.4.6) + diff-lcs (1.1.3) erubis (2.7.0) execjs (1.2.4) multi_json (~> 1.0) + fabrication (1.1.0) + ffi (1.0.9) + gherkin (2.4.16) + json (>= 1.4.6) haml (3.1.2) hike (1.2.1) i18n (0.6.0) @@ -50,6 +74,7 @@ GEM railties (~> 3.0) thor (~> 0.14) json (1.5.3) + json_pure (1.5.3) kgio (2.6.0) mail (2.3.0) i18n (>= 0.4.0) @@ -57,6 +82,7 @@ GEM treetop (~> 1.4.8) mime-types (1.16) multi_json (1.0.3) + nokogiri (1.5.0) polyglot (0.3.2) rack (1.3.2) rack-cache (1.0.2) @@ -85,16 +111,36 @@ GEM raindrops (0.7.0) rake (0.9.2) rdoc (3.9.4) + rspec (2.6.0) + rspec-core (~> 2.6.0) + rspec-expectations (~> 2.6.0) + rspec-mocks (~> 2.6.0) + rspec-core (2.6.4) + rspec-expectations (2.6.0) + diff-lcs (~> 1.1.2) + rspec-mocks (2.6.0) + rspec-rails (2.6.1) + actionpack (~> 3.0) + activesupport (~> 3.0) + railties (~> 3.0) + rspec (~> 2.6.0) + rubyzip (0.9.4) sass (3.1.7) sass-rails (3.1.0.rc.6) actionpack (~> 3.1.0.rc6) railties (~> 3.1.0.rc6) sass (>= 3.1.4) + selenium-webdriver (2.5.0) + childprocess (>= 0.2.1) + ffi (>= 1.0.7) + json_pure + rubyzip sprockets (2.0.0.beta.15) hike (~> 1.2) rack (~> 1.0) tilt (~> 1.1, != 1.3.0) sqlite3 (1.3.4) + term-ansicolor (1.0.6) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) @@ -108,16 +154,21 @@ GEM kgio (~> 2.4) rack raindrops (~> 0.6) + xpath (0.1.4) + nokogiri (~> 1.3) PLATFORMS ruby DEPENDENCIES coffee-rails (~> 3.1.0.rc) + cucumber-rails + fabrication haml jquery-rails json rails (= 3.1.0.rc6) + rspec-rails sass-rails (~> 3.1.0.rc) sqlite3 uglifier diff --git a/config/application.rb b/config/application.rb index d61f2b4b..d9a685d8 100644 --- a/config/application.rb +++ b/config/application.rb @@ -11,7 +11,7 @@ module HacketyHackCom class Application < Rails::Application - config.autoload_paths += %W(lib) + config.autoload_paths += %W(#{config.root}/lib) config.encoding = "utf-8" @@ -21,9 +21,10 @@ class Application < Rails::Application config.generators do |g| g.template_engine :haml + g.test_framework :rspec, :fixture => true + g.fixture_replacement :fabrication # you can also specify a different test framework or ORM here - # g.test_framework :rspec # g.orm :mongoid end end diff --git a/config/cucumber.yml b/config/cucumber.yml new file mode 100644 index 00000000..19b288df --- /dev/null +++ b/config/cucumber.yml @@ -0,0 +1,8 @@ +<% +rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : "" +rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}" +std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip" +%> +default: <%= std_opts %> features +wip: --tags @wip:3 --wip features +rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip diff --git a/config/database.yml b/config/database.yml index 51a4dd45..09cc85a2 100644 --- a/config/database.yml +++ b/config/database.yml @@ -12,7 +12,7 @@ development: # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. -test: +test: &test adapter: sqlite3 database: db/test.sqlite3 pool: 5 @@ -23,3 +23,6 @@ production: database: db/production.sqlite3 pool: 5 timeout: 5000 + +cucumber: + <<: *test \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 00000000..b5e6a796 --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,16 @@ +# encoding: UTF-8 +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended to check this file into your version control system. + +ActiveRecord::Schema.define(:version => 0) do + +end diff --git a/features/step_definitions/web_steps.rb b/features/step_definitions/web_steps.rb new file mode 100644 index 00000000..456f5d29 --- /dev/null +++ b/features/step_definitions/web_steps.rb @@ -0,0 +1,211 @@ +# TL;DR: YOU SHOULD DELETE THIS FILE +# +# This file was generated by Cucumber-Rails and is only here to get you a head start +# These step definitions are thin wrappers around the Capybara/Webrat API that lets you +# visit pages, interact with widgets and make assertions about page content. +# +# If you use these step definitions as basis for your features you will quickly end up +# with features that are: +# +# * Hard to maintain +# * Verbose to read +# +# A much better approach is to write your own higher level step definitions, following +# the advice in the following blog posts: +# +# * http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html +# * http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/ +# * http://elabs.se/blog/15-you-re-cuking-it-wrong +# + + +require 'uri' +require 'cgi' +require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths")) +require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "selectors")) + +module WithinHelpers + def with_scope(locator) + locator ? within(*selector_for(locator)) { yield } : yield + end +end +World(WithinHelpers) + +# Single-line step scoper +When /^(.*) within (.*[^:])$/ do |step, parent| + with_scope(parent) { When step } +end + +# Multi-line step scoper +When /^(.*) within (.*[^:]):$/ do |step, parent, table_or_string| + with_scope(parent) { When "#{step}:", table_or_string } +end + +Given /^(?:|I )am on (.+)$/ do |page_name| + visit path_to(page_name) +end + +When /^(?:|I )go to (.+)$/ do |page_name| + visit path_to(page_name) +end + +When /^(?:|I )press "([^"]*)"$/ do |button| + click_button(button) +end + +When /^(?:|I )follow "([^"]*)"$/ do |link| + click_link(link) +end + +When /^(?:|I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value| + fill_in(field, :with => value) +end + +When /^(?:|I )fill in "([^"]*)" for "([^"]*)"$/ do |value, field| + fill_in(field, :with => value) +end + +# Use this to fill in an entire form with data from a table. Example: +# +# When I fill in the following: +# | Account Number | 5002 | +# | Expiry date | 2009-11-01 | +# | Note | Nice guy | +# | Wants Email? | | +# +# TODO: Add support for checkbox, select og option +# based on naming conventions. +# +When /^(?:|I )fill in the following:$/ do |fields| + fields.rows_hash.each do |name, value| + When %{I fill in "#{name}" with "#{value}"} + end +end + +When /^(?:|I )select "([^"]*)" from "([^"]*)"$/ do |value, field| + select(value, :from => field) +end + +When /^(?:|I )check "([^"]*)"$/ do |field| + check(field) +end + +When /^(?:|I )uncheck "([^"]*)"$/ do |field| + uncheck(field) +end + +When /^(?:|I )choose "([^"]*)"$/ do |field| + choose(field) +end + +When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field| + attach_file(field, File.expand_path(path)) +end + +Then /^(?:|I )should see "([^"]*)"$/ do |text| + if page.respond_to? :should + page.should have_content(text) + else + assert page.has_content?(text) + end +end + +Then /^(?:|I )should see \/([^\/]*)\/$/ do |regexp| + regexp = Regexp.new(regexp) + + if page.respond_to? :should + page.should have_xpath('//*', :text => regexp) + else + assert page.has_xpath?('//*', :text => regexp) + end +end + +Then /^(?:|I )should not see "([^"]*)"$/ do |text| + if page.respond_to? :should + page.should have_no_content(text) + else + assert page.has_no_content?(text) + end +end + +Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp| + regexp = Regexp.new(regexp) + + if page.respond_to? :should + page.should have_no_xpath('//*', :text => regexp) + else + assert page.has_no_xpath?('//*', :text => regexp) + end +end + +Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value| + with_scope(parent) do + field = find_field(field) + field_value = (field.tag_name == 'textarea') ? field.text : field.value + if field_value.respond_to? :should + field_value.should =~ /#{value}/ + else + assert_match(/#{value}/, field_value) + end + end +end + +Then /^the "([^"]*)" field(?: within (.*))? should not contain "([^"]*)"$/ do |field, parent, value| + with_scope(parent) do + field = find_field(field) + field_value = (field.tag_name == 'textarea') ? field.text : field.value + if field_value.respond_to? :should_not + field_value.should_not =~ /#{value}/ + else + assert_no_match(/#{value}/, field_value) + end + end +end + +Then /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/ do |label, parent| + with_scope(parent) do + field_checked = find_field(label)['checked'] + if field_checked.respond_to? :should + field_checked.should be_true + else + assert field_checked + end + end +end + +Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label, parent| + with_scope(parent) do + field_checked = find_field(label)['checked'] + if field_checked.respond_to? :should + field_checked.should be_false + else + assert !field_checked + end + end +end + +Then /^(?:|I )should be on (.+)$/ do |page_name| + current_path = URI.parse(current_url).path + if current_path.respond_to? :should + current_path.should == path_to(page_name) + else + assert_equal path_to(page_name), current_path + end +end + +Then /^(?:|I )should have the following query string:$/ do |expected_pairs| + query = URI.parse(current_url).query + actual_params = query ? CGI.parse(query) : {} + expected_params = {} + expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')} + + if actual_params.respond_to? :should + actual_params.should == expected_params + else + assert_equal expected_params, actual_params + end +end + +Then /^show me the page$/ do + save_and_open_page +end diff --git a/features/support/env.rb b/features/support/env.rb new file mode 100644 index 00000000..6c40c8f1 --- /dev/null +++ b/features/support/env.rb @@ -0,0 +1,50 @@ +# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril. +# It is recommended to regenerate this file in the future when you upgrade to a +# newer version of cucumber-rails. Consider adding your own code to a new file +# instead of editing this one. Cucumber will automatically load all features/**/*.rb +# files. + +require 'cucumber/rails' + +# Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In +# order to ease the transition to Capybara we set the default here. If you'd +# prefer to use XPath just remove this line and adjust any selectors in your +# steps to use the XPath syntax. +Capybara.default_selector = :css + +# By default, any exception happening in your Rails application will bubble up +# to Cucumber so that your scenario will fail. This is a different from how +# your application behaves in the production environment, where an error page will +# be rendered instead. +# +# Sometimes we want to override this default behaviour and allow Rails to rescue +# exceptions and display an error page (just like when the app is running in production). +# Typical scenarios where you want to do this is when you test your error pages. +# There are two ways to allow Rails to rescue exceptions: +# +# 1) Tag your scenario (or feature) with @allow-rescue +# +# 2) Set the value below to true. Beware that doing this globally is not +# recommended as it will mask a lot of errors for you! +# +ActionController::Base.allow_rescue = false + +# Remove/comment out the lines below if your app doesn't have a database. +# For some databases (like MongoDB and CouchDB) you may need to use :truncation instead. +begin + DatabaseCleaner.strategy = :transaction +rescue NameError + raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it." +end + +# You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios. +# See the DatabaseCleaner documentation for details. Example: +# +# Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do +# DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]} +# end +# +# Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do +# DatabaseCleaner.strategy = :transaction +# end +# diff --git a/features/support/paths.rb b/features/support/paths.rb new file mode 100644 index 00000000..ee9b251e --- /dev/null +++ b/features/support/paths.rb @@ -0,0 +1,33 @@ +module NavigationHelpers + # Maps a name to a path. Used by the + # + # When /^I go to (.+)$/ do |page_name| + # + # step definition in web_steps.rb + # + def path_to(page_name) + case page_name + + when /^the home\s?page$/ + '/' + + # Add more mappings here. + # Here is an example that pulls values out of the Regexp: + # + # when /^(.*)'s profile page$/i + # user_profile_path(User.find_by_login($1)) + + else + begin + page_name =~ /^the (.*) page$/ + path_components = $1.split(/\s+/) + self.send(path_components.push('path').join('_').to_sym) + rescue NoMethodError, ArgumentError + raise "Can't find mapping from \"#{page_name}\" to a path.\n" + + "Now, go and add a mapping in #{__FILE__}" + end + end + end +end + +World(NavigationHelpers) diff --git a/features/support/selectors.rb b/features/support/selectors.rb new file mode 100644 index 00000000..44e34a48 --- /dev/null +++ b/features/support/selectors.rb @@ -0,0 +1,39 @@ +module HtmlSelectorsHelpers + # Maps a name to a selector. Used primarily by the + # + # When /^(.+) within (.+)$/ do |step, scope| + # + # step definitions in web_steps.rb + # + def selector_for(locator) + case locator + + when "the page" + "html > body" + + # Add more mappings here. + # Here is an example that pulls values out of the Regexp: + # + # when /^the (notice|error|info) flash$/ + # ".flash.#{$1}" + + # You can also return an array to use a different selector + # type, like: + # + # when /the header/ + # [:xpath, "//header"] + + # This allows you to provide a quoted selector as the scope + # for "within" steps as was previously the default for the + # web steps: + when /^"(.+)"$/ + $1 + + else + raise "Can't find mapping from \"#{locator}\" to a selector.\n" + + "Now, go and add a mapping in #{__FILE__}" + end + end +end + +World(HtmlSelectorsHelpers) diff --git a/lib/tasks/cucumber.rake b/lib/tasks/cucumber.rake new file mode 100644 index 00000000..83f79471 --- /dev/null +++ b/lib/tasks/cucumber.rake @@ -0,0 +1,65 @@ +# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril. +# It is recommended to regenerate this file in the future when you upgrade to a +# newer version of cucumber-rails. Consider adding your own code to a new file +# instead of editing this one. Cucumber will automatically load all features/**/*.rb +# files. + + +unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks + +vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first +$LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil? + +begin + require 'cucumber/rake/task' + + namespace :cucumber do + Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features that should pass') do |t| + t.binary = vendored_cucumber_bin # If nil, the gem's binary is used. + t.fork = true # You may get faster startup if you set this to false + t.profile = 'default' + end + + Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t| + t.binary = vendored_cucumber_bin + t.fork = true # You may get faster startup if you set this to false + t.profile = 'wip' + end + + Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t| + t.binary = vendored_cucumber_bin + t.fork = true # You may get faster startup if you set this to false + t.profile = 'rerun' + end + + desc 'Run all features' + task :all => [:ok, :wip] + + task :statsetup do + require 'rails/code_statistics' + ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features') + ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features') + end + end + desc 'Alias for cucumber:ok' + task :cucumber => 'cucumber:ok' + + task :default => :cucumber + + task :features => :cucumber do + STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***" + end + + # In case we don't have ActiveRecord, append a no-op task that we can depend upon. + task 'db:test:prepare' do + end + + task :stats => 'cucumber:statsetup' +rescue LoadError + desc 'cucumber rake task not available (cucumber not installed)' + task :cucumber do + abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin' + end +end + +end diff --git a/script/cucumber b/script/cucumber new file mode 100755 index 00000000..7fa5c920 --- /dev/null +++ b/script/cucumber @@ -0,0 +1,10 @@ +#!/usr/bin/env ruby + +vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first +if vendored_cucumber_bin + load File.expand_path(vendored_cucumber_bin) +else + require 'rubygems' unless ENV['NO_RUBYGEMS'] + require 'cucumber' + load Cucumber::BINARY +end diff --git a/spec/controllers/static_controller_spec.rb b/spec/controllers/static_controller_spec.rb new file mode 100644 index 00000000..a3db7c07 --- /dev/null +++ b/spec/controllers/static_controller_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe StaticController do + +end diff --git a/spec/helpers/static_helper_spec.rb b/spec/helpers/static_helper_spec.rb new file mode 100644 index 00000000..6a1bf5c3 --- /dev/null +++ b/spec/helpers/static_helper_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +# Specs in this file have access to a helper object that includes +# the StaticHelper. For example: +# +# describe StaticHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# helper.concat_strings("this","that").should == "this that" +# end +# end +# end +describe StaticHelper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 00000000..1e810ec7 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,27 @@ +# This file is copied to spec/ when you run 'rails generate rspec:install' +ENV["RAILS_ENV"] ||= 'test' +require File.expand_path("../../config/environment", __FILE__) +require 'rspec/rails' + +# Requires supporting ruby files with custom matchers and macros, etc, +# in spec/support/ and its subdirectories. +Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} + +RSpec.configure do |config| + # == Mock Framework + # + # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: + # + # config.mock_with :mocha + # config.mock_with :flexmock + # config.mock_with :rr + config.mock_with :rspec + + # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures + # config.fixture_path = "#{::Rails.root}/spec/fixtures" + + # If you're not using ActiveRecord, or you'd prefer not to run each of your + # examples within a transaction, remove the following line or assign false + # instead of true. + # config.use_transactional_fixtures = true +end diff --git a/test/fixtures/.gitkeep b/test/fixtures/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/functional/.gitkeep b/test/functional/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/functional/static_controller_test.rb b/test/functional/static_controller_test.rb deleted file mode 100644 index e62ae2a5..00000000 --- a/test/functional/static_controller_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class StaticControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/integration/.gitkeep b/test/integration/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/performance/browsing_test.rb b/test/performance/browsing_test.rb deleted file mode 100644 index 3fea27b9..00000000 --- a/test/performance/browsing_test.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'test_helper' -require 'rails/performance_test_help' - -class BrowsingTest < ActionDispatch::PerformanceTest - # Refer to the documentation for all available options - # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] - # :output => 'tmp/performance', :formats => [:flat] } - - def test_homepage - get '/' - end -end diff --git a/test/test_helper.rb b/test/test_helper.rb deleted file mode 100644 index 8bf1192f..00000000 --- a/test/test_helper.rb +++ /dev/null @@ -1,13 +0,0 @@ -ENV["RAILS_ENV"] = "test" -require File.expand_path('../../config/environment', __FILE__) -require 'rails/test_help' - -class ActiveSupport::TestCase - # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. - # - # Note: You'll currently still have to declare fixtures explicitly in integration tests - # -- they do not yet inherit this setting - fixtures :all - - # Add more helper methods to be used by all tests here... -end diff --git a/test/unit/.gitkeep b/test/unit/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/unit/helpers/static_helper_test.rb b/test/unit/helpers/static_helper_test.rb deleted file mode 100644 index 3b96f2b0..00000000 --- a/test/unit/helpers/static_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class StaticHelperTest < ActionView::TestCase -end From 4c822839462bbcda673268b5580e0574c5721271 Mon Sep 17 00:00:00 2001 From: Dominic Dagradi Date: Sun, 28 Aug 2011 14:51:42 -0400 Subject: [PATCH 2/2] generated spec/fabricators for existing files --- spec/controllers/api/rels_controller_spec.rb | 5 +++++ spec/fabricators/rel_fabricator.rb | 2 ++ spec/helpers/api/rel_helper_spec.rb | 15 +++++++++++++++ spec/helpers/api/rels_helper_spec.rb | 15 +++++++++++++++ spec/models/rel_spec.rb | 5 +++++ 5 files changed, 42 insertions(+) create mode 100644 spec/controllers/api/rels_controller_spec.rb create mode 100644 spec/fabricators/rel_fabricator.rb create mode 100644 spec/helpers/api/rel_helper_spec.rb create mode 100644 spec/helpers/api/rels_helper_spec.rb create mode 100644 spec/models/rel_spec.rb diff --git a/spec/controllers/api/rels_controller_spec.rb b/spec/controllers/api/rels_controller_spec.rb new file mode 100644 index 00000000..e5de997b --- /dev/null +++ b/spec/controllers/api/rels_controller_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe Api::RelsController do + +end diff --git a/spec/fabricators/rel_fabricator.rb b/spec/fabricators/rel_fabricator.rb new file mode 100644 index 00000000..b005b2b4 --- /dev/null +++ b/spec/fabricators/rel_fabricator.rb @@ -0,0 +1,2 @@ +Fabricator(:rel) do +end diff --git a/spec/helpers/api/rel_helper_spec.rb b/spec/helpers/api/rel_helper_spec.rb new file mode 100644 index 00000000..55fdb0db --- /dev/null +++ b/spec/helpers/api/rel_helper_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +# Specs in this file have access to a helper object that includes +# the Api::RelHelper. For example: +# +# describe Api::RelHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# helper.concat_strings("this","that").should == "this that" +# end +# end +# end +describe Api::RelHelper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/helpers/api/rels_helper_spec.rb b/spec/helpers/api/rels_helper_spec.rb new file mode 100644 index 00000000..a2df1889 --- /dev/null +++ b/spec/helpers/api/rels_helper_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +# Specs in this file have access to a helper object that includes +# the Api::RelsHelper. For example: +# +# describe Api::RelsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# helper.concat_strings("this","that").should == "this that" +# end +# end +# end +describe Api::RelsHelper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/rel_spec.rb b/spec/models/rel_spec.rb new file mode 100644 index 00000000..ecea2603 --- /dev/null +++ b/spec/models/rel_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe Rel do + pending "add some examples to (or delete) #{__FILE__}" +end