poly_belongs_to 0.1.2 → 0.1.3

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.
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class PhoneTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class TagTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,5 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ phoneable_id: 1
5
+ phoneable_type: User
@@ -0,0 +1,4 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ user_id: 1
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ # This model initially had no columns defined. If you add columns to the
4
+ # model remove the '{}' from the fixture names and add the columns immediately
5
+ # below each fixture, per the syntax in the comments below
6
+ #
7
+ one: {}
@@ -1,7 +1,141 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class PolyBelongsToTest < ActiveSupport::TestCase
4
- test "truth" do
5
- assert_kind_of Module, PolyBelongsTo
4
+ fixtures :all
5
+
6
+ it "is a module" do
7
+ PolyBelongsTo.must_be_kind_of Module
8
+ end
9
+
10
+ it "reports User as not polymorphic" do
11
+ user = users(:one)
12
+ user.poly?.must_be_same_as false
13
+ User.poly?.must_be_same_as false
14
+ end
15
+
16
+ it "reports Tag as not polymorphic" do
17
+ tag = tags(:one)
18
+ tag.poly?.must_be_same_as false
19
+ Tag.poly?.must_be_same_as false
20
+ end
21
+
22
+ it "reports Phone as polymorphic" do
23
+ phone = phones(:one)
24
+ phone.poly?.must_be_same_as true
25
+ Phone.poly?.must_be_same_as true
26
+ end
27
+
28
+ it "reports User belongs to relation table as nil" do
29
+ user = users(:one)
30
+ user.pbt.must_be_nil
31
+ User.pbt.must_be_nil
32
+ end
33
+
34
+ it "reports Tag belongs to relation table as :user" do
35
+ tag = tags(:one)
36
+ tag.pbt.must_be_same_as :user
37
+ Tag.pbt.must_be_same_as :user
38
+ end
39
+
40
+ it "reports Phone belongs to relation table as :phoneable" do
41
+ phone = phones(:one)
42
+ phone.pbt.must_be_same_as :phoneable
43
+ Phone.pbt.must_be_same_as :phoneable
44
+ end
45
+
46
+ it "reports User params name as :user" do
47
+ user = users(:one)
48
+ user.pbt_params_name.must_be_same_as :user
49
+ User.pbt_params_name.must_be_same_as :user
50
+ User.pbt_params_name(true).must_be_same_as :user
51
+ User.pbt_params_name(false).must_be_same_as :user
52
+ end
53
+
54
+ it "reports Tag params name as :tag" do
55
+ tag = tags(:one)
56
+ tag.pbt_params_name.must_be_same_as :tag
57
+ Tag.pbt_params_name.must_be_same_as :tag
58
+ Tag.pbt_params_name(true).must_be_same_as :tag
59
+ Tag.pbt_params_name(false).must_be_same_as :tag
60
+ end
61
+
62
+ it "reports Phone params name as :phones_attributes" do
63
+ phone = phones(:one)
64
+ phone.pbt_params_name.must_be_same_as :phones_attributes
65
+ Phone.pbt_params_name.must_be_same_as :phones_attributes
66
+ Phone.pbt_params_name(true).must_be_same_as :phones_attributes
67
+ end
68
+
69
+ it "reports Phone params name with false as :phone" do
70
+ phone = phones(:one)
71
+ phone.pbt_params_name(false).must_be_same_as :phone
72
+ Phone.pbt_params_name(false).must_be_same_as :phone
6
73
  end
74
+
75
+ it "reports User belongs to field id symbol as nil" do
76
+ user = users(:one)
77
+ user.pbt_id_sym.must_be_nil
78
+ User.pbt_id_sym.must_be_nil
79
+ end
80
+
81
+ it "reports Tag belongs to field id symbol as :tag_id" do
82
+ tag = tags(:one)
83
+ tag.pbt_id_sym.must_be_same_as :user_id
84
+ Tag.pbt_id_sym.must_be_same_as :user_id
85
+ end
86
+
87
+ it "reports Phone belongs to field id symbol as :phoneable_id" do
88
+ phone = phones(:one)
89
+ phone.pbt_id_sym.must_be_same_as :phoneable_id
90
+ Phone.pbt_id_sym.must_be_same_as :phoneable_id
91
+ end
92
+
93
+ it "reports User belongs to field type symbol as nil" do
94
+ user = users(:one)
95
+ user.pbt_type_sym.must_be_nil
96
+ User.pbt_type_sym.must_be_nil
97
+ end
98
+
99
+ it "reports Tag belongs to field type symbol as nil" do
100
+ tag = tags(:one)
101
+ tag.pbt_type_sym.must_be_nil
102
+ Tag.pbt_type_sym.must_be_nil
103
+ end
104
+
105
+ it "reports Phone belongs to field type symbol as :phoneable_type" do
106
+ phone = phones(:one)
107
+ phone.pbt_type_sym.must_be_same_as :phoneable_type
108
+ Phone.pbt_type_sym.must_be_same_as :phoneable_type
109
+ end
110
+
111
+ it "reports User belongs to relation id as nil" do
112
+ user = users(:one)
113
+ user.pbt_id.must_be_nil
114
+ end
115
+
116
+ it "reports Tag belongs to relation id as 1" do
117
+ tag = tags(:one)
118
+ tag.pbt_id.must_be_same_as 1
119
+ end
120
+
121
+ it "reports Phone belongs to relation id as 1" do
122
+ phone = phones(:one)
123
+ phone.pbt_id.must_be_same_as 1
124
+ end
125
+
126
+ it "reports User belongs to relation type as nil" do
127
+ user = users(:one)
128
+ user.pbt_type.must_be_nil
129
+ end
130
+
131
+ it "reports Tag belongs to relation type as nil" do
132
+ tag = tags(:one)
133
+ tag.pbt_type.must_be_nil
134
+ end
135
+
136
+ it "reports Phone belongs to relation type as 'User'" do
137
+ phone = phones(:one)
138
+ phone.pbt_type.must_equal "User"
139
+ end
140
+
7
141
  end
data/test/test_helper.rb CHANGED
@@ -3,7 +3,9 @@ ENV["RAILS_ENV"] = "test"
3
3
 
4
4
  require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
5
  ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
- require "rails/test_help"
6
+ require 'rails/test_help'
7
+ require 'minitest/rails'
8
+ require 'minitest/reporters'
7
9
 
8
10
  # Filter out Minitest backtrace while allowing backtrace from other libraries
9
11
  # to be shown.
@@ -16,3 +18,6 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
16
18
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
17
19
  ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
18
20
  end
21
+
22
+ reporter_options = { color: true }
23
+ Minitest::Reporters.use! [Minitest::Reporters::DefaultReporter.new(reporter_options)]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poly_belongs_to
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel P. Clark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-10 00:00:00.000000000 Z
11
+ date: 2015-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,8 +44,63 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.3'
47
- description: Access your ActiveModel records in a meta way with universal polymorphic
48
- identifiers.
47
+ - !ruby/object:Gem::Dependency
48
+ name: minitest
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.5'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.5'
61
+ - !ruby/object:Gem::Dependency
62
+ name: minitest-reporters
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: minitest-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.1'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.1'
89
+ - !ruby/object:Gem::Dependency
90
+ name: minitest-spec-rails
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '5.2'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.2'
103
+ description: A standard way to check belongs_to relations on any belongs_to Object
49
104
  email:
50
105
  - 6ftdan@gmail.com
51
106
  executables: []
@@ -58,12 +113,14 @@ files:
58
113
  - lib/poly_belongs_to.rb
59
114
  - lib/poly_belongs_to/version.rb
60
115
  - lib/tasks/poly_belongs_to_tasks.rake
61
- - test/dummy/README.rdoc
62
116
  - test/dummy/Rakefile
63
117
  - test/dummy/app/assets/javascripts/application.js
64
118
  - test/dummy/app/assets/stylesheets/application.css
65
119
  - test/dummy/app/controllers/application_controller.rb
66
120
  - test/dummy/app/helpers/application_helper.rb
121
+ - test/dummy/app/models/phone.rb
122
+ - test/dummy/app/models/tag.rb
123
+ - test/dummy/app/models/user.rb
67
124
  - test/dummy/app/views/layouts/application.html.erb
68
125
  - test/dummy/bin/bundle
69
126
  - test/dummy/bin/rails
@@ -88,12 +145,23 @@ files:
88
145
  - test/dummy/config/locales/en.yml
89
146
  - test/dummy/config/routes.rb
90
147
  - test/dummy/config/secrets.yml
148
+ - test/dummy/db/migrate/20150211224139_create_users.rb
149
+ - test/dummy/db/migrate/20150211224157_create_tags.rb
150
+ - test/dummy/db/migrate/20150211224225_create_phones.rb
151
+ - test/dummy/db/schema.rb
91
152
  - test/dummy/db/test.sqlite3
153
+ - test/dummy/log/development.log
92
154
  - test/dummy/log/test.log
93
155
  - test/dummy/public/404.html
94
156
  - test/dummy/public/422.html
95
157
  - test/dummy/public/500.html
96
158
  - test/dummy/public/favicon.ico
159
+ - test/dummy/test/models/phone_test.rb
160
+ - test/dummy/test/models/tag_test.rb
161
+ - test/dummy/test/models/user_test.rb
162
+ - test/fixtures/phones.yml
163
+ - test/fixtures/tags.yml
164
+ - test/fixtures/users.yml
97
165
  - test/poly_belongs_to_test.rb
98
166
  - test/test_helper.rb
99
167
  homepage: https://github.com/danielpclark/PolyBelongsTo
@@ -119,11 +187,18 @@ rubyforge_project:
119
187
  rubygems_version: 2.4.5
120
188
  signing_key:
121
189
  specification_version: 4
122
- summary: Shorthand polymorphic testing and universal identifiers.
190
+ summary: Shorthand belongs_to testing and universal identifiers.
123
191
  test_files:
124
192
  - test/poly_belongs_to_test.rb
193
+ - test/fixtures/phones.yml
194
+ - test/fixtures/users.yml
195
+ - test/fixtures/tags.yml
125
196
  - test/test_helper.rb
126
197
  - test/dummy/db/test.sqlite3
198
+ - test/dummy/db/schema.rb
199
+ - test/dummy/db/migrate/20150211224225_create_phones.rb
200
+ - test/dummy/db/migrate/20150211224157_create_tags.rb
201
+ - test/dummy/db/migrate/20150211224139_create_users.rb
127
202
  - test/dummy/config/initializers/mime_types.rb
128
203
  - test/dummy/config/initializers/session_store.rb
129
204
  - test/dummy/config/initializers/assets.rb
@@ -142,9 +217,11 @@ test_files:
142
217
  - test/dummy/config/locales/en.yml
143
218
  - test/dummy/config/environment.rb
144
219
  - test/dummy/config/database.yml
145
- - test/dummy/README.rdoc
146
220
  - test/dummy/app/controllers/application_controller.rb
147
221
  - test/dummy/app/helpers/application_helper.rb
222
+ - test/dummy/app/models/user.rb
223
+ - test/dummy/app/models/phone.rb
224
+ - test/dummy/app/models/tag.rb
148
225
  - test/dummy/app/views/layouts/application.html.erb
149
226
  - test/dummy/app/assets/stylesheets/application.css
150
227
  - test/dummy/app/assets/javascripts/application.js
@@ -155,7 +232,11 @@ test_files:
155
232
  - test/dummy/Rakefile
156
233
  - test/dummy/config.ru
157
234
  - test/dummy/log/test.log
235
+ - test/dummy/log/development.log
158
236
  - test/dummy/bin/rake
159
237
  - test/dummy/bin/rails
160
238
  - test/dummy/bin/bundle
161
239
  - test/dummy/bin/setup
240
+ - test/dummy/test/models/tag_test.rb
241
+ - test/dummy/test/models/user_test.rb
242
+ - test/dummy/test/models/phone_test.rb
@@ -1,28 +0,0 @@
1
- == README
2
-
3
- This README would normally document whatever steps are necessary to get the
4
- application up and running.
5
-
6
- Things you may want to cover:
7
-
8
- * Ruby version
9
-
10
- * System dependencies
11
-
12
- * Configuration
13
-
14
- * Database creation
15
-
16
- * Database initialization
17
-
18
- * How to run the test suite
19
-
20
- * Services (job queues, cache servers, search engines, etc.)
21
-
22
- * Deployment instructions
23
-
24
- * ...
25
-
26
-
27
- Please feel free to use a different markup language if you do not plan to run
28
- <tt>rake doc:app</tt>.