refinerycms-testing 2.1.5 → 3.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8f3d50c04da3b7c81c95d01e3c46d22f35cb0d4
4
- data.tar.gz: ce824dc24a00af88b25f1d704e84c0ed4b0a2d35
3
+ metadata.gz: 3e82b4a627c96a19f3332f179dbef51b08a21d13
4
+ data.tar.gz: 412cb490a55d456433e407c4d61fb30f5c8f022a
5
5
  SHA512:
6
- metadata.gz: 5d880697c04d502db69f9ded0422623fd2f85b762f0fb9099329bbf0218fef7d724de9922224e65165f80bc37ada987614b54b2266d13dc8a135b8e292eeaf54
7
- data.tar.gz: 6adb20fe300fc41deb31e87336e7c7a2f91427f2f0be62527acb35cc9d6804cce31df0bd6b1d39f599f060df00814656099e56f5d13df242a651ae9eb0462bb2
6
+ metadata.gz: ab5585826093c7103527a081038f5fbae8053cc56333f82a7ee64576ef74b2a8523db13f8e060114751f6b6bd98c3e6eed31f41fe6f5a6cb7330f2cd0c70ffa9
7
+ data.tar.gz: 38ff53a4fdb5b376483012ba39f4455dace33e187d51f875eaa5b075793c3aca041bf48fae6653dbc0cc52d7358b92688a86dce812565b53f36057358b1862eb
@@ -13,7 +13,7 @@ guard 'spork', :wait => 60, :cucumber => false, :rspec_env => { 'RAILS_ENV' => '
13
13
  end
14
14
  end
15
15
 
16
- guard 'rspec', :version => 2, :spec_paths => extensions.map{|e| "#{e}/spec"},
16
+ guard 'rspec', :version => 2, :spec_paths => extensions.map{ |e| "#{e}/spec"},
17
17
  :cli => (File.read('.rspec').split("\n").join(' ') if File.exists?('.rspec')) do
18
18
  extensions.each do |extension|
19
19
  watch(%r{^#{extension}/spec/.+_spec\.rb$})
@@ -19,7 +19,7 @@ end
19
19
 
20
20
  # Requires supporting files with custom matchers and macros, etc,
21
21
  # in ./support/ and its subdirectories including factories.
22
- ([ENGINE_RAILS_ROOT, Rails.root.to_s].uniq | ::Refinery::Plugins.registered.pathnames).map{|p|
22
+ ([ENGINE_RAILS_ROOT, Rails.root.to_s].uniq | ::Refinery::Plugins.registered.pathnames).map{ |p|
23
23
  Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
24
24
  }.flatten.sort.each do |support_file|
25
25
  require support_file
@@ -1,24 +1,28 @@
1
1
  namespace :refinery do
2
2
  namespace :testing do
3
- desc "Generates a dummy app for testing"
4
- task :dummy_app do
5
- unless dummy_app_path.exist?
6
- Rake::Task["refinery:testing:setup_dummy_app"].invoke
7
- Rake::Task["refinery:testing:setup_extension"].invoke
8
- Rake::Task["refinery:testing:init_test_database"].invoke
9
- end
10
- end
3
+ desc "Generates a dummy application for testing, if one doesn't exist."
4
+ task :dummy_app => [
5
+ :report_dummy_app_status,
6
+ :create_dummy_app
7
+ ]
11
8
 
12
- task :setup_dummy_app do
13
- require 'refinerycms'
9
+ desc "Creates a dummy application for testing"
10
+ task :create_dummy_app => [
11
+ :setup_dummy_app,
12
+ :setup_extension,
13
+ :init_test_database
14
+ ]
14
15
 
15
- params = %w(--quiet)
16
- params << "--database=#{ENV['DB']}" if ENV['DB']
16
+ desc "raises if there is already a dummy application"
17
+ task :report_dummy_app_status do
18
+ raise "\nPlease rm -rf '#{dummy_app_path}'\n\n" if dummy_app_path.exist?
19
+ end
17
20
 
18
- Refinery::DummyGenerator.start params
21
+ desc "Sets up just the dummy application for testing, no migrations or extensions"
22
+ task :setup_dummy_app do
23
+ require 'refinerycms-core'
19
24
 
20
- # Ensure the database is not there from a previous run.
21
- Rake::Task['refinery:testing:drop_dummy_app_database'].invoke
25
+ Refinery::DummyGenerator.start %W[--quiet --database=#{ENV['DB'].presence || 'sqlite3'}]
22
26
 
23
27
  Refinery::CmsGenerator.start %w[--quiet --fresh-installation]
24
28
 
@@ -41,19 +45,17 @@ namespace :refinery do
41
45
  end
42
46
 
43
47
  desc "Remove the dummy app used for testing"
44
- task :clean_dummy_app do
45
- Rake::Task['refinery:testing:drop_dummy_app_database'].invoke
48
+ task :clean_dummy_app => [:drop_dummy_app_database] do
46
49
  dummy_app_path.rmtree if dummy_app_path.exist?
47
50
  end
48
51
 
49
52
  desc "Remove the dummy app's database."
50
53
  task :drop_dummy_app_database do
51
- load 'rails/tasks/engine.rake'
52
- Rake::Task['app:db:drop'].invoke
54
+ system "bundle exec rake -f #{File.join(dummy_app_path, 'Rakefile')} db:drop"
53
55
  end
54
56
 
55
57
  task :init_test_database do
56
- system "bundle exec rake -f #{dummy_app_path.join('Rakefile')} db:test:prepare"
58
+ system "RAILS_ENV=test bundle exec rake -f #{File.join(dummy_app_path, 'Rakefile')} db:create db:migrate"
57
59
  end
58
60
 
59
61
  def dummy_app_path
@@ -1,6 +1,6 @@
1
1
  require 'refinerycms-core'
2
2
  require 'rspec-rails'
3
- require 'factory_girl_rails'
3
+ require 'factory_girl'
4
4
 
5
5
  module Refinery
6
6
  autoload :TestingGenerator, 'generators/refinery/testing/testing_generator'
@@ -2,7 +2,7 @@ module Refinery
2
2
  module Testing
3
3
  module ControllerMacros
4
4
  autoload :Authentication, 'refinery/testing/controller_macros/authentication'
5
- autoload :Methods, 'refinery/testing/controller_macros/methods'
5
+ autoload :Routes , 'refinery/testing/controller_macros/routes'
6
6
  end
7
7
  end
8
8
  end
@@ -2,80 +2,21 @@ module Refinery
2
2
  module Testing
3
3
  module ControllerMacros
4
4
  module Authentication
5
- def self.extended(base)
6
- base.send :include, Devise::TestHelpers
7
- end
8
5
 
9
6
  def refinery_login_with(*roles)
10
- mock_user roles
7
+ Refinery.deprecate('refinery_login_with', when: '3.1', replacement: 'refinery_login')
8
+ refinery_login
11
9
  end
12
10
 
13
11
  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
38
- end
39
- end
40
-
41
- def factory_user(factory)
42
- let(:logged_in_user) { FactoryGirl.create factory }
43
- before do
44
- @request.env["devise.mapping"] = Devise.mappings[:admin]
45
- sign_in logged_in_user
46
- end
12
+ Refinery.deprecate('refinery_login_with_factory', when: '3.1', replacement: 'refinery_login')
13
+ refinery_login
47
14
  end
48
15
 
49
- def login_user
50
- Refinery.deprecate :login_user, :when => '2.2', :replacement => 'refinery_login_with :user'
51
- refinery_login_with :user
16
+ def refinery_login
17
+ let(:logged_in_user) { Refinery::Core::NilUser.new }
52
18
  end
53
19
 
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
-
59
- def login_refinery_superuser
60
- Refinery.deprecate :login_refinery_superuser, :when => '2.2', :replacement => 'refinery_login_with :refinery_superuser'
61
- refinery_login_with :refinery_superuser
62
- end
63
-
64
- def login_refinery_translator
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
78
- end
79
20
  end
80
21
  end
81
22
  end
@@ -0,0 +1,12 @@
1
+ module Refinery
2
+ module Testing
3
+ module ControllerMacros
4
+ module Routes
5
+ extend ActiveSupport::Concern
6
+ included do
7
+ routes { ::Refinery::Core::Engine.routes }
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -2,28 +2,16 @@ module Refinery
2
2
  module Testing
3
3
  module FeatureMacros
4
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
5
 
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)
6
+ def refinery_login
7
+ # NO-OP, Overwrite this in an extension.
16
8
  end
17
9
 
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)
10
+ def refinery_login_with(factory)
11
+ Refinery.deprecate('refinery_login_with', when: '3.1', replacement: 'refinery_login')
12
+ refinery_login
21
13
  end
22
14
 
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
15
  end
28
16
  end
29
17
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.version = version
10
10
  s.summary = %q{Testing plugin for Refinery CMS}
11
11
  s.description = %q{This plugin adds the ability to tests against the Refinery CMS gem while inside a Refinery CMS extension}
12
- s.email = %q{info@refinerycms.com}
12
+ s.email = %q{refinerycms@p.arndt.io}
13
13
  s.homepage = %q{http://refinerycms.com}
14
14
  s.rubyforge_project = %q{refinerycms}
15
15
  s.authors = ['Philip Arndt', 'Uģis Ozols', 'Rob Yurkowski']
@@ -19,10 +19,10 @@ Gem::Specification.new do |s|
19
19
  s.files = `git ls-files`.split("\n")
20
20
 
21
21
  s.add_dependency 'refinerycms-core', version
22
- s.add_dependency 'database_cleaner', '~> 1.2.0'
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.38.0'
27
- s.add_dependency 'mime-types', '~> 1.16'
22
+ s.add_dependency 'database_cleaner', '~> 1.3.0'
23
+ s.add_dependency 'factory_girl_rails', '~> 4.4.1'
24
+ s.add_dependency 'rspec-rails', '~> 3.0'
25
+ s.add_dependency 'capybara', '~> 2.4.3'
26
+
27
+ s.required_ruby_version = Refinery::Version.required_ruby_version
28
28
  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.1.5
4
+ version: 3.0.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: 2014-11-07 00:00:00.000000000 Z
13
+ date: 2015-09-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: refinerycms-core
@@ -18,101 +18,73 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.1.5
21
+ version: 3.0.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.1.5
28
+ version: 3.0.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: 1.2.0
35
+ version: 1.3.0
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: 1.2.0
42
+ version: 1.3.0
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: 4.2.1
49
+ version: 4.4.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: 4.2.1
56
+ version: 4.4.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.13'
63
+ version: '3.0'
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.13'
70
+ version: '3.0'
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: 2.1.0
77
+ version: 2.4.3
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: 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.38.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.38.0
99
- - !ruby/object:Gem::Dependency
100
- name: mime-types
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '1.16'
106
- type: :runtime
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - "~>"
111
- - !ruby/object:Gem::Version
112
- version: '1.16'
84
+ version: 2.4.3
113
85
  description: This plugin adds the ability to tests against the Refinery CMS gem while
114
86
  inside a Refinery CMS extension
115
- email: info@refinerycms.com
87
+ email: refinerycms@p.arndt.io
116
88
  executables: []
117
89
  extensions: []
118
90
  extra_rdoc_files: []
@@ -125,7 +97,7 @@ files:
125
97
  - lib/refinery/testing.rb
126
98
  - lib/refinery/testing/controller_macros.rb
127
99
  - lib/refinery/testing/controller_macros/authentication.rb
128
- - lib/refinery/testing/controller_macros/methods.rb
100
+ - lib/refinery/testing/controller_macros/routes.rb
129
101
  - lib/refinery/testing/feature_macros.rb
130
102
  - lib/refinery/testing/feature_macros/authentication.rb
131
103
  - lib/refinery/testing/railtie.rb
@@ -143,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
115
  requirements:
144
116
  - - ">="
145
117
  - !ruby/object:Gem::Version
146
- version: '0'
118
+ version: 2.0.0
147
119
  required_rubygems_version: !ruby/object:Gem::Requirement
148
120
  requirements:
149
121
  - - ">="
@@ -151,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
123
  version: '0'
152
124
  requirements: []
153
125
  rubyforge_project: refinerycms
154
- rubygems_version: 2.2.2
126
+ rubygems_version: 2.4.5.1
155
127
  signing_key:
156
128
  specification_version: 4
157
129
  summary: Testing plugin for Refinery CMS
@@ -1,33 +0,0 @@
1
- module Refinery
2
- module Testing
3
- module ControllerMacros
4
- module Methods
5
- def get(action, parameters = nil, session = nil, flash = nil)
6
- process_refinery_action(action, parameters, session, flash, "GET")
7
- end
8
-
9
- # Executes a request simulating POST HTTP method and set/volley the response
10
- def post(action, parameters = nil, session = nil, flash = nil)
11
- process_refinery_action(action, parameters, session, flash, "POST")
12
- end
13
-
14
- # Executes a request simulating PUT HTTP method and set/volley the response
15
- def put(action, parameters = nil, session = nil, flash = nil)
16
- process_refinery_action(action, parameters, session, flash, "PUT")
17
- end
18
-
19
- # Executes a request simulating DELETE HTTP method and set/volley the response
20
- def delete(action, parameters = nil, session = nil, flash = nil)
21
- process_refinery_action(action, parameters, session, flash, "DELETE")
22
- end
23
-
24
- private
25
-
26
- def process_refinery_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
27
- parameters ||= {}
28
- process(action, parameters.merge!(:use_route => :refinery), session, flash, method)
29
- end
30
- end
31
- end
32
- end
33
- end