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 +4 -4
- data/lib/generators/refinery/testing/templates/Guardfile +1 -1
- data/lib/generators/refinery/testing/templates/spec/spec_helper.rb +1 -1
- data/lib/refinery/tasks/testing.rake +22 -20
- data/lib/refinery/testing.rb +1 -1
- data/lib/refinery/testing/controller_macros.rb +1 -1
- data/lib/refinery/testing/controller_macros/authentication.rb +6 -65
- data/lib/refinery/testing/controller_macros/routes.rb +12 -0
- data/lib/refinery/testing/feature_macros/authentication.rb +5 -17
- data/refinerycms-testing.gemspec +7 -7
- metadata +16 -44
- data/lib/refinery/testing/controller_macros/methods.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e82b4a627c96a19f3332f179dbef51b08a21d13
|
4
|
+
data.tar.gz: 412cb490a55d456433e407c4d61fb30f5c8f022a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
4
|
-
task :dummy_app
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
-
|
13
|
-
|
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
|
-
|
16
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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 #{
|
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
|
data/lib/refinery/testing.rb
CHANGED
@@ -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 :
|
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
|
-
|
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
|
-
|
15
|
-
|
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
|
50
|
-
|
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
|
@@ -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
|
14
|
-
|
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
|
19
|
-
Refinery.deprecate(
|
20
|
-
|
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
|
data/refinerycms-testing.gemspec
CHANGED
@@ -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{
|
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.
|
23
|
-
s.add_dependency 'factory_girl_rails', '~> 4.
|
24
|
-
s.add_dependency 'rspec-rails', '~>
|
25
|
-
s.add_dependency 'capybara', '~> 2.
|
26
|
-
|
27
|
-
s.
|
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:
|
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:
|
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:
|
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:
|
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.
|
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.
|
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.
|
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.
|
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: '
|
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: '
|
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.
|
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.
|
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:
|
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/
|
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:
|
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.
|
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
|