fun_with_testing 0.0.4 → 0.0.7
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 +5 -13
- data/CHANGELOG.markdown +27 -0
- data/Gemfile +21 -10
- data/Rakefile +22 -6
- data/VERSION +1 -1
- data/lib/fun_with/testing/assertions/basics.rb +216 -139
- data/lib/fun_with/testing/assertions_test_case.rb +65 -0
- data/lib/fun_with/testing/test_case.rb +9 -57
- data/lib/fun_with/testing/test_mode_methods.rb +32 -0
- data/lib/fun_with/testing/verbosity_methods.rb +43 -0
- data/lib/fun_with_testing.rb +15 -9
- data/test/helper.rb +1 -30
- data/test/test_assertions.rb +578 -14
- data/test/test_fun_with_testing.rb +0 -3
- data/test/test_test_mode.rb +29 -28
- data/test/test_verbosity.rb +2 -1
- metadata +91 -45
- data/lib/fun_with/testing/assertions/active_record.rb +0 -108
- data/lib/fun_with/testing/assertions/fun_with_files.rb +0 -109
@@ -4,14 +4,12 @@ require 'helper'
|
|
4
4
|
class TestFunWithTesting < FunWith::Testing::MyTestCase
|
5
5
|
should "be plumbed properly" do
|
6
6
|
assert defined?( FunWith::Testing::Assertions )
|
7
|
-
assert defined?( FunWith::Testing::Assertions::ActiveRecord )
|
8
7
|
assert defined?( FunWith::Testing::Assertions::Basics )
|
9
8
|
|
10
9
|
assert_includes( FunWith::Testing::Assertions::Basics.instance_methods, :assert_blank )
|
11
10
|
assert_includes( FunWith::Testing::Assertions::Basics.instance_methods, :assert_blank )
|
12
11
|
assert_includes( FunWith::Testing::Assertions::Basics.instance_methods, :assert_greater_than )
|
13
12
|
assert_includes( FunWith::Testing::Assertions::Basics.instance_methods, :assert_zero )
|
14
|
-
assert_includes( FunWith::Testing::Assertions::ActiveRecord.instance_methods, :assert_no_errors_on )
|
15
13
|
end
|
16
14
|
|
17
15
|
should "have test/unit on board" do
|
@@ -20,7 +18,6 @@ class TestFunWithTesting < FunWith::Testing::MyTestCase
|
|
20
18
|
end
|
21
19
|
|
22
20
|
should "access a listing of assertion modules" do
|
23
|
-
assert_includes( FunWith::Testing.included_modules, FunWith::Testing::Assertions::ActiveRecord )
|
24
21
|
assert_includes( FunWith::Testing.included_modules, FunWith::Testing::Assertions::Basics )
|
25
22
|
end
|
26
23
|
|
data/test/test_test_mode.rb
CHANGED
@@ -1,28 +1,29 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
module FunWith
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
1
|
+
# require 'helper'
|
2
|
+
#
|
3
|
+
# module FunWith
|
4
|
+
# module Testing
|
5
|
+
# class TestTestMode < FunWith::Testing::MyTestCase
|
6
|
+
# # TODO: "test mode" applies to gems, not to TestCases so this whole concept needs to be moved to FW::Gems
|
7
|
+
# _context "testing in_test_mode?" do
|
8
|
+
# setup do
|
9
|
+
# extended_test_case
|
10
|
+
# @gem_to_test = Module.new
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# should "set into test mode by default" do
|
14
|
+
# @case_class.set_test_mode
|
15
|
+
# assert @case.in_test_mode?
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# should "explicitly set to false" do
|
19
|
+
# @case_class.set_test_mode( false )
|
20
|
+
# assert @case.in_test_mode? == false
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# should "return false when no gem is set" do
|
24
|
+
# assert @case.in_test_mode? == false
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
# end
|
29
|
+
# end
|
data/test/test_verbosity.rb
CHANGED
@@ -2,10 +2,11 @@ require 'helper'
|
|
2
2
|
|
3
3
|
module FunWith
|
4
4
|
module Testing
|
5
|
-
class TestVerbosity < FunWith::Testing::
|
5
|
+
class TestVerbosity < FunWith::Testing::AssertionsTestCase
|
6
6
|
context "testing in_test_mode?" do
|
7
7
|
setup do
|
8
8
|
extended_test_case
|
9
|
+
@case_class.install_verbosity
|
9
10
|
end
|
10
11
|
|
11
12
|
should "set into verbose by default" do
|
metadata
CHANGED
@@ -1,123 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fun_with_testing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryce Anderson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: shoulda
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- -
|
31
|
+
- - ">="
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: '3.5'
|
20
|
-
- - ~>
|
34
|
+
- - "~>"
|
21
35
|
- !ruby/object:Gem::Version
|
22
36
|
version: '3'
|
23
37
|
type: :runtime
|
24
38
|
prerelease: false
|
25
39
|
version_requirements: !ruby/object:Gem::Requirement
|
26
40
|
requirements:
|
27
|
-
- -
|
41
|
+
- - ">="
|
28
42
|
- !ruby/object:Gem::Version
|
29
43
|
version: '3.5'
|
30
|
-
- - ~>
|
44
|
+
- - "~>"
|
31
45
|
- !ruby/object:Gem::Version
|
32
46
|
version: '3'
|
33
47
|
- !ruby/object:Gem::Dependency
|
34
48
|
name: rdoc
|
35
49
|
requirement: !ruby/object:Gem::Requirement
|
36
50
|
requirements:
|
37
|
-
- -
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 4.2.2
|
54
|
+
- - "~>"
|
38
55
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
56
|
+
version: '4'
|
40
57
|
type: :runtime
|
41
58
|
prerelease: false
|
42
59
|
version_requirements: !ruby/object:Gem::Requirement
|
43
60
|
requirements:
|
44
|
-
- -
|
61
|
+
- - ">="
|
45
62
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
63
|
+
version: 4.2.2
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '4'
|
47
67
|
- !ruby/object:Gem::Dependency
|
48
68
|
name: bundler
|
49
69
|
requirement: !ruby/object:Gem::Requirement
|
50
70
|
requirements:
|
51
|
-
- -
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1.10'
|
74
|
+
- - "~>"
|
52
75
|
- !ruby/object:Gem::Version
|
53
|
-
version: '1
|
76
|
+
version: '1'
|
54
77
|
type: :runtime
|
55
78
|
prerelease: false
|
56
79
|
version_requirements: !ruby/object:Gem::Requirement
|
57
80
|
requirements:
|
58
|
-
- -
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '1.10'
|
84
|
+
- - "~>"
|
59
85
|
- !ruby/object:Gem::Version
|
60
|
-
version: '1
|
86
|
+
version: '1'
|
61
87
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
88
|
+
name: juwelier
|
63
89
|
requirement: !ruby/object:Gem::Requirement
|
64
90
|
requirements:
|
65
|
-
- -
|
91
|
+
- - ">="
|
66
92
|
- !ruby/object:Gem::Version
|
67
|
-
version: '2.
|
93
|
+
version: '2.1'
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2'
|
68
97
|
type: :runtime
|
69
98
|
prerelease: false
|
70
99
|
version_requirements: !ruby/object:Gem::Requirement
|
71
100
|
requirements:
|
72
|
-
- -
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.1'
|
104
|
+
- - "~>"
|
73
105
|
- !ruby/object:Gem::Version
|
74
|
-
version: '2
|
106
|
+
version: '2'
|
75
107
|
- !ruby/object:Gem::Dependency
|
76
108
|
name: simplecov
|
77
109
|
requirement: !ruby/object:Gem::Requirement
|
78
110
|
requirements:
|
79
|
-
- -
|
111
|
+
- - ">="
|
80
112
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0.
|
82
|
-
- - ~>
|
113
|
+
version: '0.11'
|
114
|
+
- - "~>"
|
83
115
|
- !ruby/object:Gem::Version
|
84
116
|
version: '0'
|
85
117
|
type: :runtime
|
86
118
|
prerelease: false
|
87
119
|
version_requirements: !ruby/object:Gem::Requirement
|
88
120
|
requirements:
|
89
|
-
- -
|
121
|
+
- - ">="
|
90
122
|
- !ruby/object:Gem::Version
|
91
|
-
version: '0.
|
92
|
-
- - ~>
|
123
|
+
version: '0.11'
|
124
|
+
- - "~>"
|
93
125
|
- !ruby/object:Gem::Version
|
94
126
|
version: '0'
|
95
127
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
128
|
+
name: byebug
|
97
129
|
requirement: !ruby/object:Gem::Requirement
|
98
130
|
requirements:
|
99
|
-
- -
|
131
|
+
- - ">="
|
100
132
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
133
|
+
version: '9.0'
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '9'
|
102
137
|
type: :runtime
|
103
138
|
prerelease: false
|
104
139
|
version_requirements: !ruby/object:Gem::Requirement
|
105
140
|
requirements:
|
106
|
-
- -
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '9.0'
|
144
|
+
- - "~>"
|
107
145
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
146
|
+
version: '9'
|
109
147
|
- !ruby/object:Gem::Dependency
|
110
148
|
name: minitest
|
111
149
|
requirement: !ruby/object:Gem::Requirement
|
112
150
|
requirements:
|
113
|
-
- -
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '5.9'
|
154
|
+
- - "~>"
|
114
155
|
- !ruby/object:Gem::Version
|
115
156
|
version: '5'
|
116
157
|
type: :runtime
|
117
158
|
prerelease: false
|
118
159
|
version_requirements: !ruby/object:Gem::Requirement
|
119
160
|
requirements:
|
120
|
-
- -
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '5.9'
|
164
|
+
- - "~>"
|
121
165
|
- !ruby/object:Gem::Version
|
122
166
|
version: '5'
|
123
167
|
description: A place to stash Test::Unit assertions I've found handy. Use at your
|
@@ -126,19 +170,21 @@ email: keeputahweird@gmail.com
|
|
126
170
|
executables: []
|
127
171
|
extensions: []
|
128
172
|
extra_rdoc_files:
|
173
|
+
- CHANGELOG.markdown
|
129
174
|
- LICENSE.txt
|
130
175
|
- README.rdoc
|
131
176
|
files:
|
132
|
-
- ./lib/fun_with/testing/assertions/
|
133
|
-
- ./lib/fun_with/testing/
|
134
|
-
- ./lib/fun_with/testing/
|
135
|
-
- ./lib/fun_with/testing/
|
136
|
-
- ./lib/
|
137
|
-
- ./
|
138
|
-
- ./test/
|
139
|
-
- ./test/
|
140
|
-
- ./test/
|
141
|
-
- ./test/
|
177
|
+
- "./lib/fun_with/testing/assertions/basics.rb"
|
178
|
+
- "./lib/fun_with/testing/assertions_test_case.rb"
|
179
|
+
- "./lib/fun_with/testing/test_case.rb"
|
180
|
+
- "./lib/fun_with/testing/test_mode_methods.rb"
|
181
|
+
- "./lib/fun_with/testing/verbosity_methods.rb"
|
182
|
+
- "./lib/fun_with_testing.rb"
|
183
|
+
- "./test/helper.rb"
|
184
|
+
- "./test/test_assertions.rb"
|
185
|
+
- "./test/test_fun_with_testing.rb"
|
186
|
+
- "./test/test_test_mode.rb"
|
187
|
+
- "./test/test_verbosity.rb"
|
142
188
|
- CHANGELOG.markdown
|
143
189
|
- Gemfile
|
144
190
|
- LICENSE.txt
|
@@ -155,17 +201,17 @@ require_paths:
|
|
155
201
|
- lib
|
156
202
|
required_ruby_version: !ruby/object:Gem::Requirement
|
157
203
|
requirements:
|
158
|
-
- -
|
204
|
+
- - ">="
|
159
205
|
- !ruby/object:Gem::Version
|
160
206
|
version: '0'
|
161
207
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
208
|
requirements:
|
163
|
-
- -
|
209
|
+
- - ">="
|
164
210
|
- !ruby/object:Gem::Version
|
165
211
|
version: '0'
|
166
212
|
requirements: []
|
167
213
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.
|
214
|
+
rubygems_version: 2.6.6
|
169
215
|
signing_key:
|
170
216
|
specification_version: 4
|
171
217
|
summary: A place to stash Test::Unit assertions I've found handy.
|
@@ -1,108 +0,0 @@
|
|
1
|
-
module FunWith
|
2
|
-
module Testing
|
3
|
-
module Assertions
|
4
|
-
module ActiveRecord
|
5
|
-
def assert_record_save( record, message = "")
|
6
|
-
result = record.save
|
7
|
-
|
8
|
-
message = "Record #{record} did not save properly. "
|
9
|
-
message += record.errors.map{ |k,v| "#{k} : #{v}"}.join(", ")
|
10
|
-
|
11
|
-
safe_assert_block message do
|
12
|
-
result
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# Usage: get("index"); assert_response_success( :template => "index" )
|
17
|
-
#
|
18
|
-
def assert_response_success( opts = {} )
|
19
|
-
safe_assert_block "@response is nil" do
|
20
|
-
!@response.nil?
|
21
|
-
end
|
22
|
-
|
23
|
-
if @response.error?
|
24
|
-
puts @response.body
|
25
|
-
elsif @response.redirect?
|
26
|
-
raise Minitest::Unit::AssertionFailedError.new( "Expected success, was redirect to #{@response.redirected_to} with flash #{flash}" )
|
27
|
-
end
|
28
|
-
|
29
|
-
assert_response :success
|
30
|
-
assert_template opts[:template] if opts[:template]
|
31
|
-
end
|
32
|
-
|
33
|
-
def assert_response_redirect( opts = {} )
|
34
|
-
safe_assert_block "@response is nil" do
|
35
|
-
!@response.nil?
|
36
|
-
end
|
37
|
-
|
38
|
-
if @response.error? || @response.client_error?
|
39
|
-
puts @response.body
|
40
|
-
puts "Flash:" + @response.flash.map{|k,v| "#{k} : #{v}"}.join(', ')
|
41
|
-
debugger
|
42
|
-
nil
|
43
|
-
elsif @response.success?
|
44
|
-
puts "OOPS: should have redirected. Instead went to #{@response.template.action_name}, flash: #{@response.flash.inspect}"
|
45
|
-
end
|
46
|
-
|
47
|
-
assert_response :redirect
|
48
|
-
assert_redirected_to opts[:to] if opts[:to]
|
49
|
-
end
|
50
|
-
|
51
|
-
def assert_no_errors_on( record, message = "" )
|
52
|
-
record.valid?
|
53
|
-
message = build_message( message,
|
54
|
-
"#{record.class.name} record should have no errors. Errors: ?",
|
55
|
-
record.errors.map{ |k,v| "[#{k} : #{v}]"}.join(", ")
|
56
|
-
)
|
57
|
-
|
58
|
-
safe_assert_block message do
|
59
|
-
record.valid?
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# TODO: Should be able to say which errors should be present
|
64
|
-
def assert_errors_on( record, message = "" )
|
65
|
-
message = build_message( message, "#{record.class.name} record should have errors.")
|
66
|
-
|
67
|
-
safe_assert_block message do
|
68
|
-
!record.valid?
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def assert_an_error_on( record, _field, error_says = nil )
|
73
|
-
message = build_message( "", "<?> should have an error on the <?> field.", record, _field )
|
74
|
-
safe_assert_block message do
|
75
|
-
!record.errors[_field].blank?
|
76
|
-
end
|
77
|
-
|
78
|
-
unless error_says.blank?
|
79
|
-
message = build_message( "", "<?> should have an error on the <?> field that says <?>.", record, _field, error_says )
|
80
|
-
safe_assert_block message do
|
81
|
-
# puts "Inside field error block"
|
82
|
-
# debugger
|
83
|
-
record.errors[_field].include?(error_says)
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def assert_record_destroyed( record, message = "")
|
89
|
-
not_record_message = build_message(message, "<?> is not an ActiveRecord::Base object.", record)
|
90
|
-
new_record_message = build_message(message, "<?> should not be a new record in order to use assert_destroy().", record)
|
91
|
-
full_message = build_message(message, "<?> should have been destroyed.", record)
|
92
|
-
|
93
|
-
safe_assert_block not_record_message do
|
94
|
-
record.is_a?(ActiveRecord::Base)
|
95
|
-
end
|
96
|
-
|
97
|
-
safe_assert_block new_record_message do
|
98
|
-
record.new_record? == false
|
99
|
-
end
|
100
|
-
|
101
|
-
safe_assert_block full_message do
|
102
|
-
record.class.find_by_id(record.id) == nil
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|