Create note on discontinued development
[merb_mart.git] / spec / spec_helper.rb
blobdd0f218e83b38a22e99724ea880c436999050503
1 require 'rubygems'
2 require 'merb-core'
3 require 'merb-slices'
4 require 'spec'
5 require 'can_has_fixtures'
7 # Add merb_mart.rb to the search path
8 Merb::Plugins.config[:merb_slices][:auto_register] = true
9 Merb::Plugins.config[:merb_slices][:search_path]   = File.join(File.dirname(__FILE__), '..', 'lib', 'merb_mart.rb')
11 DataMapper.setup(:default, 'sqlite3::memory:')
13 # Using Merb.root below makes sure that the correct root is set for
14 # - testing standalone, without being installed as a gem and no host application
15 # - testing from within the host application; its root will be used
16 Merb.start_environment(
17   :testing => true, 
18   :adapter => 'runner', 
19   :environment => ENV['MERB_ENV'] || 'test',
20   :session_store => 'memory'
23 module Merb
24   module Test
25     module SliceHelper
26       
27       # The absolute path to the current slice
28       def current_slice_root
29         @current_slice_root ||= File.expand_path(File.join(File.dirname(__FILE__), '..'))
30       end
31       
32       # Whether the specs are being run from a host application or standalone
33       def standalone?
34         Merb.root == ::MerbMart.root
35       end
36       
37     end
38   end
39 end
41 Spec::Runner.configure do |config|
42   config.include(Merb::Test::ViewHelper)
43   config.include(Merb::Test::RouteHelper)
44   config.include(Merb::Test::ControllerHelper)
45   config.include(Merb::Test::SliceHelper)
46 end
48 require File.join(File.dirname(__FILE__), 'spec_fixtures')
50 class Random
51   def country_code(options = {:used => true, :unique => true})
52     code = 2.of {('a'..'z').random}.to_s until satisfies?(code, options)
53     
54     @@used << code if options[:used]
55     code
56   end
57   
58   def address
59     "#{rand(100_000)} #{word(:max => 75)} #{%w[st rd ln ave pkwy].random}"
60   end
62   def phone_number
63     "#{(100..999).random}-#{(100..999).random}-#{(0..9999).random}"
64   end
65 end