spec_helper.rb revision e5fc71a1941c833e676942534582f2adb510660d
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
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
e5fc71a1941c833e676942534582f2adb510660dTim Reddehase# includes the convenience-method `define_ontology('name')`
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehaseinclude OntologyUnited::Convenience
8bc65b8b85b830b0432ea7701f2047acd552cedcTim Reddehase
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehasedef parse_this(user, ontology, xml_path, code_path)
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehase evaluator = Hets::Evaluator.new(user, ontology,
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehase path: xml_path,
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehase code_path: code_path)
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehase evaluator.import
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehaseend
56cef2d91f243b2b1f773acc20f9c5ae9fb5c537Tim Reddehase
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksadef stub_ontology_file_extensions
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa Ontology.stubs(:file_extensions_distributed).returns(
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa %w[casl dol hascasl het].map!{ |ext| ".#{ext}" })
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa Ontology.stubs(:file_extensions_single).returns(
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa %w[owl obo hs exp maude elf hol isa thy prf omdoc hpf clf clif xml fcstd rdf xmi qvt tptp gen_trm baf].
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa map!{ |ext| ".#{ext}" })
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksaend
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksadef unstub_ontology_file_extensions
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa Ontology.unstub(:file_extensions_distributed)
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa Ontology.unstub(:file_extensions_single)
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksaend
fd556d3aae9e1b50625e815f5ff9141ddbfecae3Eugen Kuksa
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(' ')
cfd2c55efa79cd0073bdfc17e68ff1b05fab7255Tim Reddehase stub_ontology_file_extensions
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase end
836ef862a9f5bd2a1d5c68bbccb11c00b248758aTim Reddehase
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase config.after(:each) do
cfd2c55efa79cd0073bdfc17e68ff1b05fab7255Tim Reddehase unstub_ontology_file_extensions
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase DatabaseCleaner.clean
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase end
cfe6bf1bc38ab15b759dee8bb5c86c3727058a2eTim Reddehase
6876ece18854869a08606c12e0e814435fa73a29Tim Reddehase config.expose_current_running_example_as :example
6876ece18854869a08606c12e0e814435fa73a29Tim Reddehase
6876ece18854869a08606c12e0e814435fa73a29Tim Reddehase config.infer_spec_type_from_file_location!
6876ece18854869a08606c12e0e814435fa73a29Tim Reddehase
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.infer_base_class_for_anonymous_controllers = true
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger config.include Devise::TestHelpers, type: :controller
e437b19c184243f688c2dd9b3bf083a454c804c7Julian Kornberger
61467f8ae537212ba3c895868c91235a21985cb8Tim Reddehase config.treat_symbols_as_metadata_keys_with_true_values = true
61467f8ae537212ba3c895868c91235a21985cb8Tim Reddehase
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