refinerycms-testing 2.1.5 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|