refinerycms-testing 2.0.10 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f886a59675d1a3482f95813865197f602ab0206
4
- data.tar.gz: ca037389db61806659605ae5f49f43966c588c19
3
+ metadata.gz: e365214719c30cca8e9a7f2cfd6e5a75deed6b2b
4
+ data.tar.gz: c89fdc7c78d4473d17afa1f2b6cc2c8379e4b360
5
5
  SHA512:
6
- metadata.gz: 621ba7d4c291b6bdeebd39202ea064f8019af3049452fa3881f27f56c13a9af9f997a9cd244e1be4500f2f3b01dc3898876ed82be3905d8992512b04968c5a94
7
- data.tar.gz: f1ccedba1a1f53c7a0b4dde5c55f8bfc87be38f3ecbf4b86e9b1763e568f8ef006349ca7ab410a004784184e4014baba358ac5777a1b734da0789f86ccdd398a
6
+ metadata.gz: df0dbac4556ed0bba5de1bfba7b8038870a77c8a504f3bb19d3a5d4945478409f211eb30d1b6b3358ae0a25ca82fa24996781f8ef48a3fbd52741c2f78426248
7
+ data.tar.gz: b6f2d359153568d461dec0dd230af6acc80d13324d4058eb91f85e724cd944ef1732d5070c5c711ca86a09522b39d29489604c347eb0ddced6cc4293f5c0de94
@@ -1,4 +1,4 @@
1
- extensions = Dir[File.expand_path('../vendor/extensions/*', __FILE__)]
1
+ extensions = Dir[ 'vendor/extensions/*' ]
2
2
 
3
3
  guard 'spork', :wait => 60, :cucumber => false, :rspec_env => { 'RAILS_ENV' => 'test' } do
4
4
  watch('config/application.rb')
@@ -24,7 +24,7 @@ guard 'rspec', :version => 2, :spec_paths => extensions.map{|e| "#{e}/spec"},
24
24
  watch("#{extension}/spec/spec_helper.rb") { "#{extension}/spec" }
25
25
  watch("#{extension}/config/routes.rb") { "#{extension}/spec/routing" }
26
26
  watch("#{extension}/app/controllers/application_controller.rb") { "#{extension}/spec/controllers" }
27
- # Capybara request specs
28
- watch(%r{^#{extension}/app/views/(.+)/.*\.(erb|haml)$}) { |m| "#{extension}/spec/requests/#{m[1]}_spec.rb" }
27
+ # Capybara feature specs
28
+ watch(%r{^#{extension}/app/views/(.+)/.*\.(erb|haml)$}) { |m| "#{extension}/spec/features/#{m[1]}_spec.rb" }
29
29
  end
30
30
  end
@@ -1,52 +1,26 @@
1
1
  ENGINE_RAILS_ROOT = File.join(File.dirname(__FILE__), '../') unless defined?(ENGINE_RAILS_ROOT)
2
2
 
3
- def setup_environment
4
- # Configure Rails Environment
5
- ENV["RAILS_ENV"] ||= 'test'
3
+ # Configure Rails Environment
4
+ ENV["RAILS_ENV"] ||= 'test'
6
5
 
7
- require File.expand_path("../../config/environment", __FILE__)
6
+ require File.expand_path("../../config/environment", __FILE__)
8
7
 
9
- require 'rspec/rails'
10
- require 'capybara/rspec'
8
+ require 'rspec/rails'
9
+ require 'capybara/rspec'
11
10
 
12
- Rails.backtrace_cleaner.remove_silencers!
11
+ Rails.backtrace_cleaner.remove_silencers!
13
12
 
14
- RSpec.configure do |config|
15
- config.mock_with :rspec
16
- config.treat_symbols_as_metadata_keys_with_true_values = true
17
- config.filter_run :focus => true
18
- config.run_all_when_everything_filtered = true
19
- end
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ config.treat_symbols_as_metadata_keys_with_true_values = true
16
+ config.filter_run :focus => true
17
+ config.run_all_when_everything_filtered = true
20
18
  end
21
19
 
22
- def each_run
23
- Rails.cache.clear
24
- ActiveSupport::Dependencies.clear
25
- FactoryGirl.reload
26
-
27
- # Requires supporting files with custom matchers and macros, etc,
28
- # in ./support/ and its subdirectories including factories.
29
- ([ENGINE_RAILS_ROOT, Rails.root.to_s].uniq | ::Refinery::Plugins.registered.pathnames).map{|p|
30
- Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
31
- }.flatten.sort.each do |support_file|
32
- require support_file
33
- end
34
- end
35
-
36
- # If spork is available in the Gemfile it'll be used but we don't force it.
37
- unless (begin; require 'spork'; rescue LoadError; nil end).nil?
38
- Spork.prefork do
39
- # Loading more in this block will cause your tests to run faster. However,
40
- # if you change any configuration or code from libraries loaded here, you'll
41
- # need to restart spork for it take effect.
42
- setup_environment
43
- end
44
-
45
- Spork.each_run do
46
- # This code will be run each time you run your specs.
47
- each_run
48
- end
49
- else
50
- setup_environment
51
- each_run
20
+ # Requires supporting files with custom matchers and macros, etc,
21
+ # in ./support/ and its subdirectories including factories.
22
+ ([ENGINE_RAILS_ROOT, Rails.root.to_s].uniq | ::Refinery::Plugins.registered.pathnames).map{|p|
23
+ Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
24
+ }.flatten.sort.each do |support_file|
25
+ require support_file
52
26
  end
@@ -6,10 +6,6 @@ module Refinery
6
6
  rake "refinery_testing:install:migrations"
7
7
  end
8
8
 
9
- def copy_guardfile
10
- template "Guardfile"
11
- end
12
-
13
9
  def copy_spec_helper
14
10
  directory "spec"
15
11
  end
@@ -27,6 +27,6 @@ module Refinery
27
27
  require 'refinery/testing/railtie'
28
28
 
29
29
  autoload :ControllerMacros, 'refinery/testing/controller_macros'
30
- autoload :RequestMacros, 'refinery/testing/request_macros'
30
+ autoload :FeatureMacros, 'refinery/testing/feature_macros'
31
31
  end
32
32
  end
@@ -3,39 +3,78 @@ module Refinery
3
3
  module ControllerMacros
4
4
  module Authentication
5
5
  def self.extended(base)
6
- base.send(:include, Devise::TestHelpers)
6
+ base.send :include, Devise::TestHelpers
7
7
  end
8
8
 
9
- def login_user
10
- let(:user) { FactoryGirl.create(:user) }
11
- before(:each) do
12
- @request.env["devise.mapping"] = Devise.mappings[:admin]
13
- sign_in user
9
+ def refinery_login_with(*roles)
10
+ mock_user roles
11
+ end
12
+
13
+ def refinery_login_with_factory(factory)
14
+ factory_user factory
15
+ end
16
+
17
+ def mock_user(roles)
18
+ let(:controller_permission) { true }
19
+ roles = handle_deprecated_roles! roles
20
+ let(:logged_in_user) do
21
+ user = double 'Refinery::User', :username => 'Joe Fake'
22
+
23
+ roles.each do |role|
24
+ user.stub(:has_role?).with(role).and_return true
25
+ end
26
+ user.stub(:has_role?).with(:superuser).and_return false if roles.exclude? :superuser
27
+
28
+ user
29
+ end
30
+
31
+ before do
32
+ controller.should_receive(:require_refinery_users!).and_return false
33
+ controller.should_receive(:authenticate_refinery_user!).and_return true
34
+ controller.should_receive(:restrict_plugins).and_return true
35
+ controller.should_receive(:allow_controller?).and_return controller_permission
36
+ controller.stub(:refinery_user?).and_return true
37
+ controller.stub(:current_refinery_user).and_return logged_in_user
14
38
  end
15
39
  end
16
40
 
17
- def login_refinery_user
18
- let(:refinery_user) { FactoryGirl.create(:refinery_user) }
19
- before(:each) do
41
+ def factory_user(factory)
42
+ let(:logged_in_user) { FactoryGirl.create factory }
43
+ before do
20
44
  @request.env["devise.mapping"] = Devise.mappings[:admin]
21
- sign_in refinery_user
45
+ sign_in logged_in_user
22
46
  end
23
47
  end
24
48
 
49
+ def login_user
50
+ Refinery.deprecate :login_user, :when => '2.2', :replacement => 'refinery_login_with :user'
51
+ refinery_login_with :user
52
+ end
53
+
54
+ def login_refinery_user
55
+ Refinery.deprecate :login_refinery_user, :when => '2.2', :replacement => 'refinery_login_with :refinery_user'
56
+ refinery_login_with :refinery_user
57
+ end
58
+
25
59
  def login_refinery_superuser
26
- let(:refinery_superuser) { FactoryGirl.create(:refinery_superuser) }
27
- before(:each) do
28
- @request.env["devise.mapping"] = Devise.mappings[:admin]
29
- sign_in refinery_superuser
30
- end
60
+ Refinery.deprecate :login_refinery_superuser, :when => '2.2', :replacement => 'refinery_login_with :refinery_superuser'
61
+ refinery_login_with :refinery_superuser
31
62
  end
32
63
 
33
64
  def login_refinery_translator
34
- let(:refinery_translator) { FactoryGirl.create(:refinery_translator) }
35
- before(:each) do
36
- @request.env["devise.mapping"] = Devise.mappings[:admin]
37
- sign_in refinery_translator
38
- end
65
+ Refinery.deprecate :login_refinery_translator, :when => '2.2', :replacement => 'refinery_login_with :refinery_translator'
66
+ refinery_login_with :refinery_translator
67
+ end
68
+
69
+ private
70
+ def handle_deprecated_roles!(*roles)
71
+ mappings = {
72
+ :user => [],
73
+ :refinery_user => [:refinery],
74
+ :refinery_superuser => [:refinery, :superuser],
75
+ :refinery_translator => [:refinery, :translator]
76
+ }
77
+ mappings[roles.first] || roles
39
78
  end
40
79
  end
41
80
  end
@@ -0,0 +1,7 @@
1
+ module Refinery
2
+ module Testing
3
+ module FeatureMacros
4
+ autoload :Authentication, 'refinery/testing/feature_macros/authentication'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,30 @@
1
+ module Refinery
2
+ module Testing
3
+ module FeatureMacros
4
+ module Authentication
5
+ def refinery_login_with(factory)
6
+ let!(:logged_in_user) { FactoryGirl.create(factory) }
7
+
8
+ before do
9
+ login_as logged_in_user, :scope => :refinery_user
10
+ end
11
+ end
12
+
13
+ def login_refinery_user
14
+ Refinery.deprecate(:login_refinery_user, :when => '2.2', :replacement => 'refinery_login_with :refinery_user')
15
+ refinery_login_with(:refinery_user)
16
+ end
17
+
18
+ def login_refinery_superuser
19
+ Refinery.deprecate(:login_refinery_superuser, :when => '2.2', :replacement => 'refinery_login_with :refinery_superuser')
20
+ refinery_login_with(:refinery_superuser)
21
+ end
22
+
23
+ def login_refinery_translator
24
+ Refinery.deprecate(:login_refinery_translator, :when => '2.2', :replacement => 'refinery_login_with :refinery_translator')
25
+ refinery_login_with(:refinery_translator)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,6 +1,5 @@
1
1
  # Encoding: UTF-8
2
- $:.push File.expand_path('../../core/lib', __FILE__)
3
- require 'refinery/version'
2
+ require File.expand_path('../../core/lib/refinery/version', __FILE__)
4
3
 
5
4
  version = Refinery::Version.to_s
6
5
 
@@ -9,7 +8,7 @@ Gem::Specification.new do |s|
9
8
  s.name = %q{refinerycms-testing}
10
9
  s.version = version
11
10
  s.summary = %q{Testing plugin for Refinery CMS}
12
- s.description = %q{This plugin adds the ability to run rspec against the Refinery CMS gem while inside a Refinery CMS project}
11
+ s.description = %q{This plugin adds the ability to tests against the Refinery CMS gem while inside a Refinery CMS extension}
13
12
  s.email = %q{info@refinerycms.com}
14
13
  s.homepage = %q{http://refinerycms.com}
15
14
  s.rubyforge_project = %q{refinerycms}
@@ -20,8 +19,9 @@ Gem::Specification.new do |s|
20
19
  s.files = `git ls-files`.split("\n")
21
20
 
22
21
  s.add_dependency 'refinerycms-core', version
23
- s.add_dependency 'database_cleaner', '~> 0.7.2'
24
- s.add_dependency 'factory_girl_rails', '~> 1.7.0'
25
- s.add_dependency 'rspec-rails', '~> 2.11'
26
- s.add_dependency 'capybara', '~> 1.1.2'
22
+ s.add_dependency 'database_cleaner', '~> 1.0.1'
23
+ s.add_dependency 'factory_girl_rails', '~> 4.2.1'
24
+ s.add_dependency 'rspec-rails', '~> 2.13'
25
+ s.add_dependency 'capybara', '~> 2.1.0'
26
+ s.add_dependency 'selenium-webdriver', '~> 2.33.0'
27
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.10
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philip Arndt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-14 00:00:00.000000000 Z
13
+ date: 2013-08-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: refinerycms-core
@@ -18,72 +18,86 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.0.10
21
+ version: 2.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 2.0.10
28
+ version: 2.1.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: database_cleaner
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: 0.7.2
35
+ version: 1.0.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
- version: 0.7.2
42
+ version: 1.0.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: factory_girl_rails
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ~>
48
48
  - !ruby/object:Gem::Version
49
- version: 1.7.0
49
+ version: 4.2.1
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ~>
55
55
  - !ruby/object:Gem::Version
56
- version: 1.7.0
56
+ version: 4.2.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rspec-rails
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ~>
62
62
  - !ruby/object:Gem::Version
63
- version: '2.11'
63
+ version: '2.13'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ~>
69
69
  - !ruby/object:Gem::Version
70
- version: '2.11'
70
+ version: '2.13'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: capybara
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.1.2
77
+ version: 2.1.0
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ~>
83
83
  - !ruby/object:Gem::Version
84
- version: 1.1.2
85
- description: This plugin adds the ability to run rspec against the Refinery CMS gem
86
- while inside a Refinery CMS project
84
+ version: 2.1.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: selenium-webdriver
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ version: 2.33.0
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: 2.33.0
99
+ description: This plugin adds the ability to tests against the Refinery CMS gem while
100
+ inside a Refinery CMS extension
87
101
  email: info@refinerycms.com
88
102
  executables: []
89
103
  extensions: []
@@ -98,9 +112,9 @@ files:
98
112
  - lib/refinery/testing/controller_macros.rb
99
113
  - lib/refinery/testing/controller_macros/authentication.rb
100
114
  - lib/refinery/testing/controller_macros/methods.rb
115
+ - lib/refinery/testing/feature_macros.rb
116
+ - lib/refinery/testing/feature_macros/authentication.rb
101
117
  - lib/refinery/testing/railtie.rb
102
- - lib/refinery/testing/request_macros.rb
103
- - lib/refinery/testing/request_macros/authentication.rb
104
118
  - lib/refinerycms-testing.rb
105
119
  - refinerycms-testing.gemspec
106
120
  homepage: http://refinerycms.com
@@ -1,7 +0,0 @@
1
- module Refinery
2
- module Testing
3
- module RequestMacros
4
- autoload :Authentication, 'refinery/testing/request_macros/authentication'
5
- end
6
- end
7
- end
@@ -1,63 +0,0 @@
1
- module Refinery
2
- module Testing
3
- module RequestMacros
4
- module Authentication
5
- def login_refinery_user
6
- before do
7
- password = '123456'
8
- refinery_user = FactoryGirl.create(:refinery_user, {
9
- :username => "refinerycms",
10
- :password => password,
11
- :password_confirmation => password,
12
- :email => "refinerycms@refinerycms.com"
13
- })
14
-
15
- visit refinery.new_refinery_user_session_path
16
-
17
- fill_in "Login", :with => refinery_user.username
18
- fill_in "Password", :with => password
19
-
20
- click_button "Sign in"
21
- end
22
- end
23
-
24
- def login_refinery_superuser
25
- before(:each) do
26
- password = '123456'
27
- refinery_superuser = FactoryGirl.create(:refinery_superuser, {
28
- :username => "refinerycms",
29
- :password => password,
30
- :password_confirmation => password,
31
- :email => "refinerycms@refinerycms.com"
32
- })
33
-
34
- visit refinery.new_refinery_user_session_path
35
-
36
- fill_in "Login", :with => refinery_superuser.username
37
- fill_in "Password", :with => password
38
-
39
- click_button "Sign in"
40
- end
41
- end
42
-
43
- def login_refinery_translator
44
- before do
45
- password = '123456'
46
- FactoryGirl.create(:refinery_user)
47
- user = FactoryGirl.create(:refinery_translator, {
48
- :password => password,
49
- :password_confirmation => password
50
- })
51
-
52
- visit refinery.new_refinery_user_session_path
53
-
54
- fill_in "Login", :with => user.username
55
- fill_in "Password", :with => password
56
-
57
- click_button "Sign in"
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end