| 
									
										
										
										
											2015-11-03 11:46:54 +03:00
										 |  |  | ENV['RACK_ENV'] ||= 'test' | 
					
						
							|  |  |  | require 'byebug' | 
					
						
							|  |  |  | require 'factory_girl' | 
					
						
							|  |  |  | require 'active_support/core_ext/hash/indifferent_access' | 
					
						
							|  |  |  | require 'active_support/inflector' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # setup load_path and require support files | 
					
						
							|  |  |  | root = File.join(File.dirname(__FILE__), "..") | 
					
						
							|  |  |  | $LOAD_PATH.push root unless $LOAD_PATH.include? root | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-20 18:31:54 +03:00
										 |  |  | # suppress output | 
					
						
							|  |  |  | original_stdout = $stdout | 
					
						
							|  |  |  | $stdout = File.open(File::NULL, "w") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-03 11:46:54 +03:00
										 |  |  | Dir[("./spec/support/**/*.rb")].each { |f| require f } | 
					
						
							| 
									
										
										
										
											2015-12-10 01:24:23 +03:00
										 |  |  | Dir[("./spec/shared_contexts/**/*.rb")].each { |f| require f } | 
					
						
							| 
									
										
										
										
											2015-11-03 11:46:54 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Factory girl configuration | 
					
						
							|  |  |  | FactoryGirl.define do | 
					
						
							|  |  |  |   # do not try to persist, but raise validation errors | 
					
						
							|  |  |  |   to_create { |model| model.validate! } | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | FactoryGirl.find_definitions | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # RSpec configuration | 
					
						
							|  |  |  | RSpec.configure do |config| | 
					
						
							|  |  |  |   config.include FactoryGirl::Syntax::Methods | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-20 18:31:54 +03:00
										 |  |  |   config.after(:all) do | 
					
						
							|  |  |  |     $stdout = original_stdout | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-03 11:46:54 +03:00
										 |  |  |   # rspec-expectations config goes here. You can use an alternate | 
					
						
							|  |  |  |   # assertion/expectation library such as wrong or the stdlib/minitest | 
					
						
							|  |  |  |   # assertions if you prefer. | 
					
						
							|  |  |  |   config.expect_with :rspec do |expectations| | 
					
						
							|  |  |  |     expectations.include_chain_clauses_in_custom_matcher_descriptions = true | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # rspec-mocks config goes here. You can use an alternate test double | 
					
						
							|  |  |  |   # library (such as bogus or mocha) by changing the `mock_with` option here. | 
					
						
							|  |  |  |   config.mock_with :rspec do |mocks| | 
					
						
							|  |  |  |     # Prevents you from mocking or stubbing a method that does not exist on | 
					
						
							|  |  |  |     # a real object. This is generally recommended, and will default to | 
					
						
							|  |  |  |     # `true` in RSpec 4. | 
					
						
							|  |  |  |     mocks.verify_partial_doubles = true | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Allows RSpec to persist some state between runs in order to support | 
					
						
							|  |  |  |   # the `--only-failures` and `--next-failure` CLI options. We recommend | 
					
						
							|  |  |  |   # you configure your source control system to ignore this file. | 
					
						
							|  |  |  |   config.example_status_persistence_file_path = "spec/examples.txt" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Limits the available syntax to the non-monkey patched syntax that is | 
					
						
							|  |  |  |   # recommended. For more details, see: | 
					
						
							|  |  |  |   #   - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax | 
					
						
							|  |  |  |   #   - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ | 
					
						
							|  |  |  |   #   - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching | 
					
						
							|  |  |  |   config.disable_monkey_patching! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Many RSpec users commonly either run the entire suite or an individual | 
					
						
							|  |  |  |   # file, and it's useful to allow more verbose output when running an | 
					
						
							|  |  |  |   # individual spec file. | 
					
						
							|  |  |  |   if config.files_to_run.one? | 
					
						
							|  |  |  |     # Use the documentation formatter for detailed output, | 
					
						
							|  |  |  |     # unless a formatter has already been configured | 
					
						
							|  |  |  |     # (e.g. via a command-line flag). | 
					
						
							|  |  |  |     config.default_formatter = 'doc' | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Print the 10 slowest examples and example groups at the | 
					
						
							|  |  |  |   # end of the spec run, to help surface which specs are running | 
					
						
							|  |  |  |   # particularly slow. | 
					
						
							|  |  |  |   # config.profile_examples = 10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Run specs in random order to surface order dependencies. If you find an | 
					
						
							|  |  |  |   # order dependency and want to debug it, you can fix the order by providing | 
					
						
							|  |  |  |   # the seed, which is printed after each run. | 
					
						
							|  |  |  |   #     --seed 1234 | 
					
						
							|  |  |  |   config.order = :random | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Seed global randomization in this process using the `--seed` CLI option. | 
					
						
							|  |  |  |   # Setting this allows you to use `--seed` to deterministically reproduce | 
					
						
							|  |  |  |   # test failures related to randomization by passing the same `--seed` value | 
					
						
							|  |  |  |   # as the one that triggered the failure. | 
					
						
							|  |  |  |   Kernel.srand config.seed | 
					
						
							|  |  |  | end |