spec_helper.rb revision 836ef862a9f5bd2a1d5c68bbccb11c00b248758a
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# This file is copied to spec/ when you run 'rails generate rspec:install'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo SirainenENV["RAILS_ENV"] ||= 'test'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire File.expand_path("../../test/shared_helper", __FILE__)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Siraineninclude SharedHelper
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenuse_simplecov
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire File.expand_path("../../config/environment", __FILE__)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire 'rspec/rails'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire 'rspec/autorun'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire 'database_cleaner'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenrequire 'sidekiq/testing'
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# Setting the default for sidekiq testing
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# some specs rely on this being the default.
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# However unit-tests use a different default (fake!)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo SirainenSidekiq::Testing.inline!
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# Requires supporting ruby files with custom matchers and macros, etc,
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen# in spec/support/ and its subdirectories.
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo SirainenDir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenclass ActionController::TestRequest
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen attr_writer :query_string
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen def query_string
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen @query_string.to_s
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen end
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenend
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainendef fixture_file(name)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen Rails.root + 'test/fixtures/ontologies/xml/' + name
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenend
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainendef add_fixture_file(repository, relative_file)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen dummy_user = FactoryGirl.create :user
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen path = File.join(Rails.root, 'test', 'fixtures', 'ontologies', relative_file)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen basename = File.basename(path)
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen version = repository.save_file path, basename, "#{basename} added", dummy_user
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenend
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo SirainenRSpec.configure do |config|
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # ## Mock Framework
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # config.mock_with :mocha
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # config.mock_with :flexmock
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # config.mock_with :rr
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.before(:suite) do
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen DatabaseCleaner.strategy = :truncation
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen end
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.before(:each) do
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen redis = WrappingRedis::RedisWrapper.new
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen redis.del redis.keys.join(' ')
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen end
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.after(:each) do
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen DatabaseCleaner.clean
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen end
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.infer_base_class_for_anonymous_controllers = true
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.include Devise::TestHelpers, type: :controller
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # Run specs in random order to surface order dependencies. If you find an
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # order dependency and want to debug it, you can fix the order by providing
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # the seed, which is printed after each run.
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen # --seed 1234
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen config.order = "random"
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainenend
be6ad6e46ecb8c7126b421819046e7f4857a2babTimo Sirainen