rspectacular 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +54 -1
- data/lib/rspectacular/mock_authentications/omniauth.rb +1 -0
- data/lib/rspectacular/mock_authentications/omniauth/facebook.rb +43 -0
- data/lib/rspectacular/mock_authentications/omniauth/twitter.rb +43 -0
- data/lib/rspectacular/plugins/capybara.rb +23 -2
- data/lib/rspectacular/plugins/carrier_wave.rb +17 -11
- data/lib/rspectacular/plugins/database_cleaner.rb +17 -7
- data/lib/rspectacular/plugins/devise.rb +8 -2
- data/lib/rspectacular/plugins/email.rb +14 -1
- data/lib/rspectacular/plugins/factory_girl.rb +4 -0
- data/lib/rspectacular/plugins/features.rb +42 -0
- data/lib/rspectacular/plugins/omniauth.rb +12 -4
- data/lib/rspectacular/plugins/paypal.rb +6 -9
- data/lib/rspectacular/plugins/recaptcha.rb +8 -1
- data/lib/rspectacular/plugins/shoulda.rb +18 -9
- data/lib/rspectacular/plugins/singleton.rb +7 -4
- data/lib/rspectacular/plugins/timecop.rb +4 -0
- data/lib/rspectacular/plugins/vcr.rb +11 -2
- data/lib/rspectacular/plugins/webmock.rb +8 -1
- data/lib/rspectacular/spec_helpers/{active_record_spec_helper.rb → active_record_basic.rb} +3 -7
- data/lib/rspectacular/spec_helpers/rails_engine.rb +9 -0
- data/lib/rspectacular/support.rb +1 -7
- data/lib/rspectacular/version.rb +1 -1
- metadata +13 -9
- data/lib/rspectacular/plugins/facebook.rb +0 -14
data/README.md
CHANGED
@@ -1,2 +1,55 @@
|
|
1
|
-
|
1
|
+
RSpectacular
|
2
2
|
==============================================================================
|
3
|
+
|
4
|
+
**It's like RSpec, but more spectacularer**
|
5
|
+
|
6
|
+
<img src="http://cdn.memegenerator.net/instances/300x/34275719.jpg" align="right" />
|
7
|
+
|
8
|
+
When installing many of the most popular gems, they typically require some form
|
9
|
+
of configuration to be added to your `spec_helper.rb` file in order to make them
|
10
|
+
work properly in test mode.
|
11
|
+
|
12
|
+
Additionally, there are RSpec settings which are pretty standard for most users
|
13
|
+
of the framework. Personally we found ourselves copying and pasting files from
|
14
|
+
project to project. This was a huge nightmare.
|
15
|
+
|
16
|
+
What we decided to do was to package it all up as a gem so that we can simply
|
17
|
+
include it in the project and update it as necessary. Version 1.x won't allow
|
18
|
+
for too many different customizations, but the plan for 2.x is _selective_
|
19
|
+
overriding of RSpectacular configuration decisions.
|
20
|
+
|
21
|
+
The philosophy behind this gem is to:
|
22
|
+
|
23
|
+
* Retain uber-fast test startup times
|
24
|
+
* Keep per-project configurations to a minimum
|
25
|
+
|
26
|
+
Obviously there may still need to be project-specific configurations that will
|
27
|
+
need to take place. However, what you should see when you look at your spec's
|
28
|
+
configuration should be things that are exceptional to your project; nothing
|
29
|
+
more.
|
30
|
+
|
31
|
+
[Welcome to RSpectacular](#wiki).
|
32
|
+
|
33
|
+
Usage
|
34
|
+
------------------------------------------------------------------------------
|
35
|
+
|
36
|
+
Take a look at the project's [Wiki](#wiki) for full details and usage.
|
37
|
+
|
38
|
+
Issues
|
39
|
+
------
|
40
|
+
|
41
|
+
If you have problems, please create a [Github issue](issues).
|
42
|
+
|
43
|
+
Credits
|
44
|
+
-------
|
45
|
+
|
46
|
+

|
47
|
+
|
48
|
+
rspectacular is maintained by [The Kompanee, Ltd.](http://www.thekompanee.com)
|
49
|
+
|
50
|
+
The names and logos for The Kompanee are trademarks of The Kompanee, Ltd.
|
51
|
+
|
52
|
+
License
|
53
|
+
-------
|
54
|
+
|
55
|
+
rspectacular is Copyright © 2013 The Kompanee. It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
@@ -0,0 +1 @@
|
|
1
|
+
Dir[File.expand_path('../omniauth/*.rb', __FILE__)].each { |f| require f }
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module OmniAuth
|
2
|
+
module Facebook
|
3
|
+
module MockAuthentication
|
4
|
+
def self.user
|
5
|
+
{
|
6
|
+
'provider' => 'facebook',
|
7
|
+
'uid' => '100002971692646',
|
8
|
+
'credentials' => {
|
9
|
+
'token' => 'my_facebook_token'
|
10
|
+
},
|
11
|
+
'info' => {
|
12
|
+
'name' => 'Sharon Letuchysky',
|
13
|
+
'email' => nil,
|
14
|
+
'nickname' => nil,
|
15
|
+
'first_name' => 'Sharon',
|
16
|
+
'last_name' => 'Letuchysky',
|
17
|
+
'location' => nil,
|
18
|
+
'description' => nil,
|
19
|
+
'image' => 'http://graph.facebook.com/100002971692646/picture?type=square',
|
20
|
+
'phone' => nil,
|
21
|
+
'urls' => {
|
22
|
+
'Facebook' => 'http://www.facebook.com/profile.php?id=100002971692646',
|
23
|
+
'Website' => nil
|
24
|
+
}
|
25
|
+
},
|
26
|
+
'extra' => {
|
27
|
+
'user_hash' => {
|
28
|
+
'id' => '100002971692646',
|
29
|
+
'name' => 'Sharon Ambiggjcaccg Letuchysky',
|
30
|
+
'first_name' => 'Sharon',
|
31
|
+
'middle_name' => 'Ambiggjcaccg',
|
32
|
+
'last_name' => 'Letuchysky',
|
33
|
+
'link' => 'http://www.facebook.com/profile.php?id=100002971692646',
|
34
|
+
'gender' => 'female',
|
35
|
+
'locale' => 'en_US',
|
36
|
+
'updated_time' => '2011-09-11T17:00:51+0000'
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module OmniAuth
|
2
|
+
module Twitter
|
3
|
+
module MockAuthentication
|
4
|
+
def self.user
|
5
|
+
{
|
6
|
+
'provider' => 'twitter',
|
7
|
+
'uid' => '100002971692646',
|
8
|
+
'credentials' => {
|
9
|
+
'token' => 'my_twitter_token'
|
10
|
+
},
|
11
|
+
'info' => {
|
12
|
+
'name' => 'Sharon Letuchysky',
|
13
|
+
'email' => nil,
|
14
|
+
'nickname' => nil,
|
15
|
+
'first_name' => 'Sharon',
|
16
|
+
'last_name' => 'Letuchysky',
|
17
|
+
'location' => nil,
|
18
|
+
'description' => nil,
|
19
|
+
'image' => 'http://graph.facebook.com/100002971692646/picture?type=square',
|
20
|
+
'phone' => nil,
|
21
|
+
'urls' => {
|
22
|
+
'Facebook' => 'http://www.facebook.com/profile.php?id=100002971692646',
|
23
|
+
'Website' => nil
|
24
|
+
}
|
25
|
+
},
|
26
|
+
'extra' => {
|
27
|
+
'user_hash' => {
|
28
|
+
'id' => '100002971692646',
|
29
|
+
'name' => 'Sharon Ambiggjcaccg Letuchysky',
|
30
|
+
'first_name' => 'Sharon',
|
31
|
+
'middle_name' => 'Ambiggjcaccg',
|
32
|
+
'last_name' => 'Letuchysky',
|
33
|
+
'link' => 'http://www.facebook.com/profile.php?id=100002971692646',
|
34
|
+
'gender' => 'female',
|
35
|
+
'locale' => 'en_US',
|
36
|
+
'updated_time' => '2011-09-11T17:00:51+0000'
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -1,3 +1,24 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Capybara Plugin
|
3
|
+
##############################################################################
|
4
|
+
#
|
5
|
+
# This plugin does not attempt to require capybara. It assumes that if you're
|
6
|
+
# using capybara, you're probably using something like Bundler which has already
|
7
|
+
# required it for you.
|
8
|
+
#
|
9
|
+
# If this is not the case, you will need to require it prior to requiring
|
10
|
+
# rspectacular.
|
11
|
+
#
|
12
|
+
# The same goes for capybara-webkit. It must be required before rspectacular.
|
13
|
+
#
|
14
|
+
if defined?(Capybara::Driver::Base)
|
15
|
+
if defined?(Capybara::Webkit)
|
16
|
+
Capybara.javascript_driver = :webkit
|
17
|
+
end
|
18
|
+
|
19
|
+
RSpec.configure do |config|
|
20
|
+
config.before(:each, :js => true) do
|
21
|
+
page.driver.reset!
|
22
|
+
end
|
23
|
+
end
|
3
24
|
end
|
@@ -1,24 +1,30 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
|
1
|
+
##############################################################################
|
2
|
+
# CarrierWave Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'carrierwave'
|
5
7
|
require 'carrierwave/test/matchers'
|
6
8
|
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.include CarrierWave::Test::Matchers, :file_attachment => true
|
11
|
+
end
|
12
|
+
|
7
13
|
CarrierWave.configure do |config|
|
8
14
|
config.storage = :file
|
9
|
-
config.root =
|
15
|
+
config.root = File.expand_path('./tmp')
|
10
16
|
config.enable_processing = false
|
11
17
|
end
|
12
18
|
|
13
19
|
RSpec.configure do |config|
|
14
|
-
config.
|
15
|
-
|
16
|
-
config.before(:each, :carrier_wave => true) do
|
20
|
+
config.around(:each, :file_attachment => true) do |example|
|
21
|
+
previous_carrierwave_processing_mode = subject.class.enable_processing
|
17
22
|
subject.class.enable_processing = true
|
18
|
-
end
|
19
23
|
|
20
|
-
|
21
|
-
|
24
|
+
example.run
|
25
|
+
|
26
|
+
subject.class.enable_processing = previous_carrierwave_processing_mode
|
22
27
|
end
|
23
28
|
end
|
29
|
+
rescue LoadError
|
24
30
|
end
|
@@ -1,7 +1,17 @@
|
|
1
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Database Cleaner Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'database_cleaner'
|
7
|
+
|
2
8
|
begin
|
3
|
-
|
9
|
+
autodetected = DatabaseCleaner::Base.new.send(:autodetect)
|
10
|
+
rescue DatabaseCleaner::NoORMDetected
|
11
|
+
autodetected = false
|
12
|
+
end
|
4
13
|
|
14
|
+
if autodetected
|
5
15
|
RSpec.configure do |config|
|
6
16
|
config.before(:suite) do
|
7
17
|
DatabaseCleaner.clean_with(:truncation)
|
@@ -29,11 +39,11 @@ if defined? ActiveRecord::Base
|
|
29
39
|
config.use_transactional_fixtures = false
|
30
40
|
end
|
31
41
|
end
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
42
|
+
end
|
43
|
+
rescue LoadError, DatabaseCleaner::NoORMDetected
|
44
|
+
if defined? RSpec::Rails
|
45
|
+
RSpec.configure do |config|
|
46
|
+
config.use_transactional_fixtures = true
|
37
47
|
end
|
38
48
|
end
|
39
49
|
end
|
@@ -1,8 +1,14 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Devise Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'devise'
|
7
|
+
|
3
8
|
Devise.stretches = 1
|
4
9
|
|
5
10
|
RSpec.configure do |config|
|
6
11
|
config.include Devise::TestHelpers, :type => :controller
|
7
12
|
end
|
13
|
+
rescue LoadError
|
8
14
|
end
|
@@ -1,8 +1,21 @@
|
|
1
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Email Plugin
|
3
|
+
##############################################################################
|
4
|
+
#
|
5
|
+
# The approach to this plugin is twofold. First it uses the excellent email_spec
|
6
|
+
# gem to add helpers and matchers to any spec file with :email => true set.
|
7
|
+
# Secondly, it will also clear all deliveries from ActionMailer if it is loaded.
|
8
|
+
#
|
9
|
+
# https://github.com/bmabey/email-spec/
|
10
|
+
#
|
11
|
+
begin
|
12
|
+
require 'email_spec'
|
13
|
+
|
2
14
|
RSpec.configure do |config|
|
3
15
|
config.include EmailSpec::Helpers, :email => true
|
4
16
|
config.include EmailSpec::Matchers, :email => true
|
5
17
|
end
|
18
|
+
rescue LoadError
|
6
19
|
end
|
7
20
|
|
8
21
|
if defined? ActionMailer
|
@@ -0,0 +1,42 @@
|
|
1
|
+
##############################################################################
|
2
|
+
# Features Plugin
|
3
|
+
##############################################################################
|
4
|
+
#
|
5
|
+
# This plugin enables the feature/scenario/background/given syntax in RSpec
|
6
|
+
# without requiring Capybara as a dependency (and may also be used outside of
|
7
|
+
# Rails). The contents of this file are taken verbatim from
|
8
|
+
#
|
9
|
+
# https://github.com/jnicklas/capybara/blob/cd4327857bd3bafa8614b7bffb2886a8ab401953/lib/capybara/rspec/features.rb
|
10
|
+
#
|
11
|
+
# and should be updated whenever that file is updated.
|
12
|
+
#
|
13
|
+
module Capybara
|
14
|
+
module Features
|
15
|
+
def self.included(base)
|
16
|
+
base.instance_eval do
|
17
|
+
alias :background :before
|
18
|
+
alias :scenario :it
|
19
|
+
alias :xscenario :xit
|
20
|
+
alias :given :let
|
21
|
+
alias :given! :let!
|
22
|
+
|
23
|
+
if defined?(RSpec::Rails)
|
24
|
+
include RSpec::Rails::RequestExampleGroup
|
25
|
+
include Rack::Test::Methods
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.feature(*args, &block)
|
33
|
+
options = if args.last.is_a?(Hash) then args.pop else {} end
|
34
|
+
options[:capybara_feature] = true
|
35
|
+
options[:type] = :feature
|
36
|
+
options[:caller] ||= caller
|
37
|
+
args.push(options)
|
38
|
+
|
39
|
+
describe(*args, &block)
|
40
|
+
end
|
41
|
+
|
42
|
+
RSpec.configuration.include Capybara::Features, :capybara_feature => true
|
@@ -1,9 +1,17 @@
|
|
1
|
-
|
1
|
+
##############################################################################
|
2
|
+
# OmniAuth Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'omniauth'
|
7
|
+
require 'rspectacular/mock_authentications/omniauth'
|
8
|
+
|
2
9
|
###
|
3
10
|
# Tell OmniAuth to just return whatever hash we want for each auth type
|
4
11
|
#
|
5
12
|
OmniAuth.config.test_mode = true
|
6
|
-
OmniAuth.config.mock_auth[:facebook] =
|
13
|
+
OmniAuth.config.mock_auth[:facebook] = OmniAuth::Facebook::MockAuthentication.user
|
14
|
+
OmniAuth.config.mock_auth[:twitter] = OmniAuth::Twitter::MockAuthentication.user
|
7
15
|
|
8
16
|
###
|
9
17
|
# Except we don't want OmniAuth to fake anything when doing live tests
|
@@ -11,12 +19,12 @@ if defined? OmniAuth
|
|
11
19
|
RSpec.configure do |config|
|
12
20
|
config.around(:each, :js => true) do |example|
|
13
21
|
previous_omniauth_test_mode = OmniAuth.config.test_mode
|
14
|
-
|
15
|
-
OmniAuth.config.test_mode = false
|
22
|
+
OmniAuth.config.test_mode = false
|
16
23
|
|
17
24
|
example.run
|
18
25
|
|
19
26
|
OmniAuth.config.test_mode = previous_omniauth_test_mode
|
20
27
|
end
|
21
28
|
end
|
29
|
+
rescue LoadError
|
22
30
|
end
|
@@ -1,14 +1,11 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
|
1
|
+
##############################################################################
|
2
|
+
# PayPal Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
5
|
RSpec.configure do |config|
|
6
6
|
config.before(:each, :js => true, :paypal => true) do
|
7
|
-
|
8
|
-
end
|
7
|
+
require 'rspectacular/helpers/paypal'
|
9
8
|
|
10
|
-
|
11
|
-
log_out_of_paypal
|
12
|
-
log_out_of_paypal_sandbox
|
9
|
+
log_in_to_paypal_sandbox
|
13
10
|
end
|
14
11
|
end
|
@@ -1,5 +1,12 @@
|
|
1
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Recaptcha Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'recaptcha'
|
7
|
+
|
2
8
|
Recaptcha.configure do |config|
|
3
9
|
config.skip_verify_env = ['test']
|
4
10
|
end
|
11
|
+
rescue LoadError
|
5
12
|
end
|
@@ -1,15 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Shoulda Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
5
|
+
if defined? RSpec::Rails
|
6
|
+
begin
|
7
|
+
require 'shoulda-matchers'
|
8
|
+
|
9
|
+
module ShouldaRoutingMatchers
|
10
|
+
def route(method, path)
|
11
|
+
Shoulda::Matchers::ActionController::RouteMatcher.new(method, path, self)
|
12
|
+
end
|
5
13
|
end
|
6
|
-
end
|
7
14
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
15
|
+
module RSpec
|
16
|
+
module Rails
|
17
|
+
module RoutingExampleGroup
|
18
|
+
include ShouldaRoutingMatchers
|
19
|
+
end
|
12
20
|
end
|
13
21
|
end
|
22
|
+
rescue LoadError
|
14
23
|
end
|
15
24
|
end
|
@@ -1,12 +1,15 @@
|
|
1
|
-
|
1
|
+
##############################################################################
|
2
|
+
# Singleton Plugin
|
3
|
+
##############################################################################
|
2
4
|
|
3
5
|
RSpec.configure do |config|
|
4
|
-
config.
|
6
|
+
config.before(:each, :singletons => lambda { |v| !!v }) do |example|
|
7
|
+
require 'singleton'
|
8
|
+
|
5
9
|
options = example.metadata[:singletons]
|
10
|
+
options = options.is_a?(TrueClass) ? subject.class : options
|
6
11
|
singletons_to_reset = options.respond_to?(:each) ? options : [options]
|
7
12
|
|
8
|
-
example.run
|
9
|
-
|
10
13
|
singletons_to_reset.each do |singleton|
|
11
14
|
Singleton.__init__(singleton)
|
12
15
|
end
|
@@ -1,12 +1,21 @@
|
|
1
|
+
##############################################################################
|
2
|
+
# VCR Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
1
5
|
begin
|
2
6
|
require 'vcr'
|
7
|
+
require 'rspectacular/plugins/webmock'
|
3
8
|
|
4
9
|
VCR.configure do |config|
|
5
|
-
config.cassette_library_dir = 'tmp/vcr_cassettes'
|
10
|
+
config.cassette_library_dir = File.expand_path('./tmp/vcr_cassettes')
|
6
11
|
|
7
|
-
config.hook_into :
|
12
|
+
config.hook_into :webmock
|
8
13
|
config.configure_rspec_metadata!
|
9
14
|
end
|
10
15
|
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.extend VCR::RSpec::Macros
|
18
|
+
end
|
19
|
+
|
11
20
|
rescue LoadError
|
12
21
|
end
|
@@ -1,10 +1,17 @@
|
|
1
|
+
##############################################################################
|
2
|
+
# WebMock Plugin
|
3
|
+
##############################################################################
|
4
|
+
|
1
5
|
begin
|
2
6
|
require 'webmock/rspec'
|
3
7
|
|
4
8
|
RSpec.configure do |config|
|
5
9
|
config.around(:each, :web_mock => lambda { |v| !!v }) do |example|
|
6
10
|
options = example.metadata[:web_mock]
|
7
|
-
options =
|
11
|
+
options = case options
|
12
|
+
when TrueClass
|
13
|
+
{ :allow_localhost => true }
|
14
|
+
end
|
8
15
|
|
9
16
|
WebMock.disable_net_connect!(options)
|
10
17
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'active_record'
|
2
2
|
|
3
|
-
rails_database_yaml_file_path = File.
|
4
|
-
rails_engine_database_yaml_file_path = File.
|
3
|
+
rails_database_yaml_file_path = File.join(Dir.pwd, 'config', 'database.yml')
|
4
|
+
rails_engine_database_yaml_file_path = File.join(Dir.pwd, 'spec', 'dummy', 'config', 'database.yml')
|
5
5
|
|
6
6
|
database_yaml_file_path = if File.exist? rails_engine_database_yaml_file_path
|
7
7
|
rails_engine_database_yaml_file_path
|
@@ -15,8 +15,4 @@ ActiveRecord::Base.establish_connection(connection_info)
|
|
15
15
|
|
16
16
|
require 'rspectacular'
|
17
17
|
|
18
|
-
Dir[File.
|
19
|
-
|
20
|
-
RSpec.configure do |config|
|
21
|
-
config.order = 'random'
|
22
|
-
end
|
18
|
+
Dir[File.join(Dir.pwd, 'spec', 'support', '**', '*.rb')].each { |f| require f }
|
data/lib/rspectacular/support.rb
CHANGED
@@ -1,7 +1 @@
|
|
1
|
-
|
2
|
-
require 'rspectacular/support/garbage_collection'
|
3
|
-
require 'rspectacular/support/random'
|
4
|
-
require 'rspectacular/support/focused'
|
5
|
-
require 'rspectacular/support/pending'
|
6
|
-
require 'rspectacular/support/selenium'
|
7
|
-
require 'rspectacular/support/formatters'
|
1
|
+
Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f }
|
data/lib/rspectacular/version.rb
CHANGED
metadata
CHANGED
@@ -1,19 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspectacular
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.13.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.12.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- jfelchner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
prerelease: false
|
16
|
-
type: :runtime
|
17
15
|
name: rspec
|
18
16
|
requirement: !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
@@ -21,6 +19,8 @@ dependencies:
|
|
21
19
|
- - ~>
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: '2.12'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
@@ -28,8 +28,6 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '2.12'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
prerelease: false
|
32
|
-
type: :runtime
|
33
31
|
name: fuubar
|
34
32
|
requirement: !ruby/object:Gem::Requirement
|
35
33
|
none: false
|
@@ -37,6 +35,8 @@ dependencies:
|
|
37
35
|
- - ~>
|
38
36
|
- !ruby/object:Gem::Version
|
39
37
|
version: '1.0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
@@ -66,13 +66,16 @@ files:
|
|
66
66
|
- lib/rspectacular/matchers/active_record.rb
|
67
67
|
- lib/rspectacular/matchers/authentication.rb
|
68
68
|
- lib/rspectacular/matchers.rb
|
69
|
+
- lib/rspectacular/mock_authentications/omniauth/facebook.rb
|
70
|
+
- lib/rspectacular/mock_authentications/omniauth/twitter.rb
|
71
|
+
- lib/rspectacular/mock_authentications/omniauth.rb
|
69
72
|
- lib/rspectacular/plugins/capybara.rb
|
70
73
|
- lib/rspectacular/plugins/carrier_wave.rb
|
71
74
|
- lib/rspectacular/plugins/database_cleaner.rb
|
72
75
|
- lib/rspectacular/plugins/devise.rb
|
73
76
|
- lib/rspectacular/plugins/email.rb
|
74
|
-
- lib/rspectacular/plugins/facebook.rb
|
75
77
|
- lib/rspectacular/plugins/factory_girl.rb
|
78
|
+
- lib/rspectacular/plugins/features.rb
|
76
79
|
- lib/rspectacular/plugins/omniauth.rb
|
77
80
|
- lib/rspectacular/plugins/paypal.rb
|
78
81
|
- lib/rspectacular/plugins/recaptcha.rb
|
@@ -84,7 +87,8 @@ files:
|
|
84
87
|
- lib/rspectacular/plugins.rb
|
85
88
|
- lib/rspectacular/selectors/defaults.rb
|
86
89
|
- lib/rspectacular/selectors.rb
|
87
|
-
- lib/rspectacular/spec_helpers/
|
90
|
+
- lib/rspectacular/spec_helpers/active_record_basic.rb
|
91
|
+
- lib/rspectacular/spec_helpers/rails_engine.rb
|
88
92
|
- lib/rspectacular/support/focused.rb
|
89
93
|
- lib/rspectacular/support/formatters.rb
|
90
94
|
- lib/rspectacular/support/garbage_collection.rb
|
@@ -121,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
125
|
version: '0'
|
122
126
|
requirements: []
|
123
127
|
rubyforge_project: rspectacular
|
124
|
-
rubygems_version: 1.8.
|
128
|
+
rubygems_version: 1.8.23
|
125
129
|
signing_key:
|
126
130
|
specification_version: 3
|
127
131
|
summary: RSpec Support And Matchers
|
@@ -1,14 +0,0 @@
|
|
1
|
-
if defined?(Capybara::Driver::Base)
|
2
|
-
RSpec.configure do |config|
|
3
|
-
config.after(:each, :facebook => true) do
|
4
|
-
visit 'https://www.facebook.com'
|
5
|
-
|
6
|
-
if Capybara.current_session.has_link? idsf('the Facebook account menu')
|
7
|
-
click_link idsf('the Facebook account menu')
|
8
|
-
click_button 'Log Out'
|
9
|
-
|
10
|
-
page.driver.browser.switch_to.alert.accept
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|