I'm writing a web app which is used a SaS. Each customer has their own
db and app directory. I have a rake task which creates all necessary
minimum data to run their website: default rights and roles, a
superadmin user, a "us_states" table already populated, some local
depots and terminals (it's a logistics app).

I don't have any cucumber scenarios for it and I just started building
some. I'm a beginner with cucumber.

I first put that task in a Given line, but that is pretty much is a
given for all scenarios, and it doesn't make much sense to non-
programmers who look at the scenarios (for humans, it such a given
that it doesn't need to be expressed consciously) so I moved it into
hooks.rb.

My first scenario looks like this:

  1 Feature: Place an order
  2   In order to keep orders in the database
  3   As a admin
  4   I want to place orders
  5
  6 Scenario: Using common legs
  7   Given I have 1 customers
  8   And I'm on the homepage
  9   And I follow "Place an Order"
 10   When I select the customer
 11   And I select the SSLine
 12   And I click "Use Common Legs"
 13   Then I should see "PICKUP AT"
 14   And I should see "DELIVER TO" or "LOAD AT"
 15   And I should see EMPTY RETURN

  1 Before do
  2   MinimumData.new('costi', '1234').populate
  3 end


My hooks.rb looks like this:
  1 Before do
  2   MinimumData.new('costi', '1234').populate  #username and
password
  3 end

I have three questions:
1. I don't want to run this MinimumData.populate task before each
scenario because it takes 8 seconds. Should I make it run just once,
globally?
2. Do I have to cleanup the database with an After.do? I really don't
want to do that, because I will duplicate the logic in the After.do,
only with Model.delete_all statements. I noticed that after my first
run, the test db has all that data still in. I can purge it with rake
db:test:purge and the reinitialize it. Is that a good practice?
3. Have you got any other comments or advice by looking at the code?

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to