spec_helper.rb revision cfd2c55efa79cd0073bdfc17e68ff1b05fab7255
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# This file is copied to spec/ when you run 'rails generate rspec:install'
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmENV["RAILS_ENV"] ||= 'test'
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire File.expand_path("../../test/shared_helper", __FILE__)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrminclude SharedHelper
ddc251b3cf95b0097b6a5ee39ea132bd4d7d5cbcjohanengelenuse_simplecov
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire File.expand_path("../../config/environment", __FILE__)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire 'rspec/rails'
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire 'rspec/autorun'
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire 'database_cleaner'
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmrequire 'sidekiq/testing'
80ba110d6d9475e3ce42d1563c74a980362bebf7johanengelen# Setting the default for sidekiq testing
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# some specs rely on this being the default.
71146abe8aba032d73788a625fee5769a581bd3ccilix# However unit-tests use a different default (fake!)
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldSidekiq::Testing.inline!
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# Requires supporting ruby files with custom matchers and macros, etc,
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm# in spec/support/ and its subdirectories.
09ba3247163582bf2e30e17c4c154aa259ce038acilixDir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
fb5a72174252e0e79107dcad3bf5a2bbd73e349cjohanengelen
fb5a72174252e0e79107dcad3bf5a2bbd73e349cjohanengelenclass ActionController::TestRequest
04c99c338ffdc6e10cb6f5c18f6f06b3f555e8ebcilix
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm attr_writer :query_string
94d56a52b13080070ff669dad70d404ecc53c68ejohanengelen
94d56a52b13080070ff669dad70d404ecc53c68ejohanengelen def query_string
94d56a52b13080070ff669dad70d404ecc53c68ejohanengelen @query_string.to_s
3111595a227c107b0e0f4ecc2dcc3b3f48278e61Johan Engelen end
0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28Jon A. Cruz
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmend
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmdef fixture_file(name)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm Rails.root + 'test/fixtures/ontologies/xml/' + name
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmend
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmdef add_fixture_file(repository, relative_file)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm dummy_user = FactoryGirl.create :user
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm path = File.join(Rails.root, 'test', 'fixtures', 'ontologies', relative_file)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm basename = File.basename(path)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm version = repository.save_file path, basename, "#{basename} added", dummy_user
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmend
56542e2b97ec8826cc692153b0e2d4f5ac8ef913johanengelen
56542e2b97ec8826cc692153b0e2d4f5ac8ef913johanengelen
56542e2b97ec8826cc692153b0e2d4f5ac8ef913johanengelendef stub_ontology_file_extensions
56542e2b97ec8826cc692153b0e2d4f5ac8ef913johanengelen Ontology.stubs(:file_extensions_distributed).returns(
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm %w[casl dol hascasl het].map!{ |ext| ".#{ext}" })
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm Ontology.stubs(:file_extensions_single).returns(
3266678238e05b3512e7da3a76c84f5ce4c93938cilix %w[owl obo hs exp maude elf hol isa thy prf omdoc hpf clf clif xml fcstd rdf xmi qvt tptp gen_trm baf].
3266678238e05b3512e7da3a76c84f5ce4c93938cilix map!{ |ext| ".#{ext}" })
1bd25dde38abbc12fda5985e2b33be0813a42a9dcilixend
3266678238e05b3512e7da3a76c84f5ce4c93938cilix
3266678238e05b3512e7da3a76c84f5ce4c93938cilixdef unstub_ontology_file_extensions
3266678238e05b3512e7da3a76c84f5ce4c93938cilix Ontology.unstub(:file_extensions_distributed)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm Ontology.unstub(:file_extensions_single)
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmend
42e99769805c14a5cc01c805faa3c3b03f9dd1c0johanengelen
09ba3247163582bf2e30e17c4c154aa259ce038acilixRSpec.configure do |config|
09ba3247163582bf2e30e17c4c154aa259ce038acilix # ## Mock Framework
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm # config.mock_with :mocha
42e99769805c14a5cc01c805faa3c3b03f9dd1c0johanengelen # config.mock_with :flexmock
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm # config.mock_with :rr
c90010388b0d4045c26e81c2be28beedcb36c7d3cilix
c90010388b0d4045c26e81c2be28beedcb36c7d3cilix config.before(:suite) do
262d0c3f05130d86368d95f110aa8ccab5f83e5ccilix DatabaseCleaner.strategy = :truncation
23d859f2ce09c04ed802cb4912cc9c50f512f0a2bgk end
77a4a003111bd5cfb771d4849801c898aeb889b0cilix
97a20864afec63a0b7bb757b628ee2ae596cf648cilix config.before(:each) do
23d859f2ce09c04ed802cb4912cc9c50f512f0a2bgk redis = WrappingRedis::RedisWrapper.new
77a4a003111bd5cfb771d4849801c898aeb889b0cilix redis.del redis.keys.join(' ')
494c671e141564431d7d05f141c885d9a2789db5cilix stub_ontology_file_extensions
494c671e141564431d7d05f141c885d9a2789db5cilix end
77a4a003111bd5cfb771d4849801c898aeb889b0cilix
77a4a003111bd5cfb771d4849801c898aeb889b0cilix config.after(:each) do
c27006137a3ad49e074b97b3297db753e1ac8eefcilix unstub_ontology_file_extensions
c27006137a3ad49e074b97b3297db753e1ac8eefcilix DatabaseCleaner.clean
c27006137a3ad49e074b97b3297db753e1ac8eefcilix end
c27006137a3ad49e074b97b3297db753e1ac8eefcilix
c27006137a3ad49e074b97b3297db753e1ac8eefcilix config.infer_base_class_for_anonymous_controllers = true
c27006137a3ad49e074b97b3297db753e1ac8eefcilix
c27006137a3ad49e074b97b3297db753e1ac8eefcilix config.include Devise::TestHelpers, type: :controller
77a4a003111bd5cfb771d4849801c898aeb889b0cilix
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm # Run specs in random order to surface order dependencies. If you find an
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm # order dependency and want to debug it, you can fix the order by providing
c0cd5511d3b975ebe07d019c1f5528108725e438johanengelen # the seed, which is printed after each run.
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm # --seed 1234
a69e3ca5fcc8acacf862c577620d75f472d58cecjohanengelen config.order = "random"
a69e3ca5fcc8acacf862c577620d75f472d58cecjohanengelenend
a69e3ca5fcc8acacf862c577620d75f472d58cecjohanengelen