gitlabhq/features/support/env.rb

63 lines
1.4 KiB
Ruby
Raw Normal View History

2013-01-07 21:22:35 +01:00
require 'simplecov' unless ENV['CI']
2013-03-10 19:26:27 +01:00
if ENV['TRAVIS']
require 'coveralls'
Coveralls.wear!
end
2012-09-10 09:52:43 +02:00
ENV['RAILS_ENV'] = 'test'
require './config/environment'
2012-09-10 09:52:43 +02:00
require 'rspec'
require 'database_cleaner'
require 'spinach/capybara'
2013-01-09 07:14:05 +01:00
require 'sidekiq/testing/inline'
%w(stubbed_repository valid_commit select2_helper).each do |f|
require Rails.root.join('spec', 'support', f)
end
2012-09-10 17:35:03 +02:00
Dir["#{Rails.root}/features/steps/shared/*.rb"].each {|file| require file}
WebMock.allow_net_connect!
#
# JS driver
#
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Spinach.hooks.on_tag("javascript") do
::Capybara.current_driver = ::Capybara.javascript_driver
::Capybara.default_wait_time = 5
end
DatabaseCleaner.strategy = :truncation
Spinach.hooks.before_scenario do
2012-11-21 05:14:05 +01:00
# Use tmp dir for FS manipulations
2013-02-11 18:16:59 +01:00
Gitlab.config.gitlab_shell.stub(repos_path: Rails.root.join('tmp', 'test-git-base-path'))
Gitlab::Shell.any_instance.stub(:add_repository) do |path|
create_temp_repo("#{Rails.root}/tmp/test-git-base-path/#{path}.git")
end
2013-02-11 18:16:59 +01:00
FileUtils.rm_rf Gitlab.config.gitlab_shell.repos_path
FileUtils.mkdir_p Gitlab.config.gitlab_shell.repos_path
DatabaseCleaner.start
end
Spinach.hooks.after_scenario do
DatabaseCleaner.clean
end
Spinach.hooks.before_run do
RSpec::Mocks::setup self
include FactoryGirl::Syntax::Methods
end
def create_temp_repo(path)
FileUtils.mkdir_p path
command = "git init --quiet --bare #{path};"
system(command)
end