factor out shared context for specs which needs a depot
[coquelicot.git] / spec / spec_helper.rb
1 # Coquelicot: "one-click" file sharing with a focus on users' privacy.
2 # Copyright © 2010-2012 potager.org <jardiniers@potager.org>
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU Affero General Public License as
6 # published by the Free Software Foundation, either version 3 of the
7 # License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU Affero General Public License for more details.
13 #
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 ENV['RACK_ENV'] = 'test'
18
19 require 'rubygems'
20 require 'bundler'
21 Bundler.setup
22
23 require 'rack/test'
24 require 'rspec'
25
26 require 'coquelicot'
27
28 shared_context 'with Coquelicot::Application' do
29   def app
30     Coquelicot::Application
31   end
32
33   before do
34     app.set :environment, :test
35   end
36
37   around(:each) do |example|
38     path = Dir.mktmpdir('coquelicot')
39     begin
40       app.set :depot_path, path
41       example.run
42     ensure
43       FileUtils.remove_entry_secure path
44     end
45   end
46 end