spec_helper.rb revision 8bc65b8b85b830b0432ea7701f2047acd552cedc
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# This file is copied to spec/ when you run 'rails generate rspec:install'
e437b19c184243f688c2dd9b3bf083a454c804c7Julian KornbergerENV["RAILS_ENV"] ||= 'test'
e3ae5c822699ae375f274bec0a24c1a0b36b731fJulian Kornberger
8020ba658ffa8f8c9a14ba3a7d2e9257ea400becTim Reddehaserequire File.expand_path("../../test/shared_helper", __FILE__)
8020ba658ffa8f8c9a14ba3a7d2e9257ea400becTim Reddehase
8020ba658ffa8f8c9a14ba3a7d2e9257ea400becTim Reddehaseinclude SharedHelper
8020ba658ffa8f8c9a14ba3a7d2e9257ea400becTim Reddehaseuse_simplecov
e3ae5c822699ae375f274bec0a24c1a0b36b731fJulian Kornberger
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornbergerrequire File.expand_path("../../config/environment", __FILE__)
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornbergerrequire 'rspec/rails'
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornbergerrequire 'rspec/autorun'
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehaserequire 'database_cleaner'
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
654db5470b92509fa7d8e72d53b1b6eee1930d50Eugen Kuksarequire 'sidekiq/testing'
af7885666774df9091cb3c5c3d3ce4c232211451Tim Reddehase# Setting the default for sidekiq testing
af7885666774df9091cb3c5c3d3ce4c232211451Tim Reddehase# some specs rely on this being the default.
af7885666774df9091cb3c5c3d3ce4c232211451Tim Reddehase# However unit-tests use a different default (fake!)
654db5470b92509fa7d8e72d53b1b6eee1930d50Eugen KuksaSidekiq::Testing.inline!
654db5470b92509fa7d8e72d53b1b6eee1930d50Eugen Kuksa
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# Requires supporting ruby files with custom matchers and macros, etc,
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger# in spec/support/ and its subdirectories.
e437b19c184243f688c2dd9b3bf083a454c804c7Julian KornbergerDir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehaseclass ActionController::TestRequest
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase
789e293810190b918998fa027c76126e7aa4bf38henning mueller attr_writer :query_string
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase def query_string
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase @query_string.to_s
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase end
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehaseend
ef68dc9d6ba7fc331ecdef35f74cff6bb12835b8Tim Reddehase
3c4b1bd39fa36d241f2ef0d6f7ebbf2a9a6f4d36henning muellerdef fixture_file(name)
3c4b1bd39fa36d241f2ef0d6f7ebbf2a9a6f4d36henning mueller Rails.root + 'test/fixtures/ontologies/xml/' + name
3c4b1bd39fa36d241f2ef0d6f7ebbf2a9a6f4d36henning muellerend
3c4b1bd39fa36d241f2ef0d6f7ebbf2a9a6f4d36henning mueller
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehasedef add_fixture_file(repository, relative_file)
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehase path = File.join(Rails.root, 'test', 'fixtures', 'ontologies', relative_file)
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase version_for_file(repository, path)
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehaseend
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehase
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehasedef version_for_file(repository, path)
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase dummy_user = FactoryGirl.create :user
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase basename = File.basename(path)
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehase version = repository.save_file path, basename, "#{basename} added", dummy_user
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehaseend
6bbb03b1a673f7709df590df43aaed9e8740f671Tim Reddehase
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase# includes the convience-method `define_ontology('name.extension')`
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehaseinclude OntologyUnited::Convenience
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase
e437b19c184243f688c2dd9b3bf083a454c804c7Julian KornbergerRSpec.configure do |config|
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # ## Mock Framework
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # config.mock_with :mocha
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # config.mock_with :flexmock
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # config.mock_with :rr
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase config.before(:suite) do
d7341d330c5d19aef3ad9176971457f034f87ecdTim Reddehase DatabaseCleaner.strategy = :truncation
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase end
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase config.before(:each) do
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase redis = WrappingRedis::RedisWrapper.new
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase redis.del redis.keys.join(' ')
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase end
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase config.after(:each) do
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase DatabaseCleaner.clean
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase end
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.infer_base_class_for_anonymous_controllers = true
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.include Devise::TestHelpers, type: :controller
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # Run specs in random order to surface order dependencies. If you find an
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # order dependency and want to debug it, you can fix the order by providing
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # the seed, which is printed after each run.
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger # --seed 1234
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.order = "random"
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornbergerend