active_mocker 1.4.2 → 1.5

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.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +35 -29
  4. data/lib/active_mocker.rb +3 -1
  5. data/lib/active_mocker/active_record.rb +27 -5
  6. data/lib/active_mocker/active_record/scope.rb +5 -5
  7. data/lib/active_mocker/active_record/unknown_module.rb +4 -4
  8. data/lib/active_mocker/generate.rb +36 -15
  9. data/lib/active_mocker/loaded_mocks.rb +60 -54
  10. data/lib/active_mocker/mock.rb +24 -0
  11. data/lib/active_mocker/mock/association.rb +6 -0
  12. data/lib/{active_mock → active_mocker/mock}/base.rb +43 -89
  13. data/lib/{active_mock → active_mocker/mock}/collection.rb +14 -7
  14. data/lib/{active_mock → active_mocker/mock}/do_nothing_active_record_methods.rb +7 -1
  15. data/lib/active_mocker/mock/exceptions.rb +25 -0
  16. data/lib/active_mocker/mock/has_and_belongs_to_many.rb +6 -0
  17. data/lib/active_mocker/mock/has_many.rb +60 -0
  18. data/lib/active_mocker/mock/hash_process.rb +19 -0
  19. data/lib/active_mocker/mock/mock_abilities.rb +98 -0
  20. data/lib/{active_mock → active_mocker/mock}/next_id.rb +7 -2
  21. data/lib/{active_mock → active_mocker/mock}/object_inspect.rb +3 -1
  22. data/lib/{active_mock → active_mocker/mock}/queries.rb +32 -29
  23. data/lib/active_mocker/mock/records.rb +62 -0
  24. data/lib/{active_mock → active_mocker/mock}/relation.rb +4 -3
  25. data/lib/active_mocker/mock/template_methods.rb +39 -0
  26. data/lib/active_mocker/mock_template.erb +45 -31
  27. data/lib/active_mocker/model_reader.rb +29 -0
  28. data/lib/active_mocker/model_schema.rb +23 -16
  29. data/lib/active_mocker/model_schema/generate.rb +19 -8
  30. data/lib/active_mocker/railtie.rb +17 -0
  31. data/lib/active_mocker/reparameterize.rb +2 -4
  32. data/lib/active_mocker/rspec_helper.rb +18 -0
  33. data/lib/active_mocker/task.rake +15 -0
  34. data/lib/active_mocker/version.rb +1 -1
  35. metadata +80 -206
  36. data/.gitignore +0 -19
  37. data/.hound.yml +0 -0
  38. data/.travis.yml +0 -5
  39. data/Gemfile +0 -4
  40. data/Rakefile +0 -26
  41. data/active_mocker.gemspec +0 -40
  42. data/lib/active_mock/association.rb +0 -7
  43. data/lib/active_mock/creators.rb +0 -25
  44. data/lib/active_mock/has_and_belongs_to_many.rb +0 -7
  45. data/lib/active_mock/has_many.rb +0 -54
  46. data/lib/active_mock/records.rb +0 -83
  47. data/lib/active_mocker/active_mock.rb +0 -26
  48. data/lib/active_mocker/active_record/const_missing.rb +0 -5
  49. data/lib/active_mocker/class_exists.rb +0 -12
  50. data/lib/active_mocker/const_sets.rb +0 -24
  51. data/lib/active_mocker/mock_task.rb +0 -12
  52. data/sample_app_rails_4/.idea/.generators +0 -8
  53. data/sample_app_rails_4/.idea/.name +0 -1
  54. data/sample_app_rails_4/.idea/.rakeTasks +0 -7
  55. data/sample_app_rails_4/.idea/dataSources.ids +0 -141
  56. data/sample_app_rails_4/.idea/dataSources.xml +0 -36
  57. data/sample_app_rails_4/.idea/dictionaries/zeisler.xml +0 -3
  58. data/sample_app_rails_4/.idea/encodings.xml +0 -5
  59. data/sample_app_rails_4/.idea/inspectionProfiles/Project_Default.xml +0 -20
  60. data/sample_app_rails_4/.idea/inspectionProfiles/profiles_settings.xml +0 -7
  61. data/sample_app_rails_4/.idea/misc.xml +0 -5
  62. data/sample_app_rails_4/.idea/modules.xml +0 -10
  63. data/sample_app_rails_4/.idea/runConfigurations/Development__sample_app_rails_4.xml +0 -28
  64. data/sample_app_rails_4/.idea/runConfigurations/Production__sample_app_rails_4.xml +0 -28
  65. data/sample_app_rails_4/.idea/runConfigurations/spec__sample_app_rails_4.xml +0 -26
  66. data/sample_app_rails_4/.idea/runConfigurations/test__sample_app_rails_4.xml +0 -28
  67. data/sample_app_rails_4/.idea/sample_app_rails_4.iml +0 -262
  68. data/sample_app_rails_4/.idea/scopes/scope_settings.xml +0 -5
  69. data/sample_app_rails_4/.idea/vcs.xml +0 -7
  70. data/sample_app_rails_4/.idea/workspace.xml +0 -619
  71. data/sample_app_rails_4/.rspec +0 -1
  72. data/sample_app_rails_4/.secret +0 -1
  73. data/sample_app_rails_4/Gemfile +0 -13
  74. data/sample_app_rails_4/Guardfile +0 -53
  75. data/sample_app_rails_4/LICENSE +0 -21
  76. data/sample_app_rails_4/README.md +0 -25
  77. data/sample_app_rails_4/README.nitrous.md +0 -20
  78. data/sample_app_rails_4/Rakefile +0 -6
  79. data/sample_app_rails_4/app/assets/images/rails.png +0 -0
  80. data/sample_app_rails_4/app/assets/javascripts/application.js +0 -17
  81. data/sample_app_rails_4/app/assets/javascripts/sessions.js.coffee +0 -3
  82. data/sample_app_rails_4/app/assets/javascripts/static_pages.js.coffee +0 -3
  83. data/sample_app_rails_4/app/assets/javascripts/users.js.coffee +0 -3
  84. data/sample_app_rails_4/app/assets/stylesheets/application.css +0 -13
  85. data/sample_app_rails_4/app/assets/stylesheets/custom.css.scss +0 -246
  86. data/sample_app_rails_4/app/assets/stylesheets/sessions.css.scss +0 -3
  87. data/sample_app_rails_4/app/assets/stylesheets/static_pages.css.scss +0 -3
  88. data/sample_app_rails_4/app/assets/stylesheets/users.css.scss +0 -3
  89. data/sample_app_rails_4/app/controllers/application_controller.rb +0 -6
  90. data/sample_app_rails_4/app/controllers/concerns/.keep +0 -0
  91. data/sample_app_rails_4/app/controllers/microposts_controller.rb +0 -31
  92. data/sample_app_rails_4/app/controllers/relationships_controller.rb +0 -21
  93. data/sample_app_rails_4/app/controllers/sessions_controller.rb +0 -21
  94. data/sample_app_rails_4/app/controllers/static_pages_controller.rb +0 -18
  95. data/sample_app_rails_4/app/controllers/users_controller.rb +0 -80
  96. data/sample_app_rails_4/app/helpers/application_helper.rb +0 -12
  97. data/sample_app_rails_4/app/helpers/sessions_helper.rb +0 -49
  98. data/sample_app_rails_4/app/helpers/static_pages_helper.rb +0 -2
  99. data/sample_app_rails_4/app/helpers/users_helper.rb +0 -10
  100. data/sample_app_rails_4/app/mailers/.keep +0 -0
  101. data/sample_app_rails_4/app/models/.keep +0 -0
  102. data/sample_app_rails_4/app/models/concerns/.keep +0 -0
  103. data/sample_app_rails_4/app/models/micropost.rb +0 -24
  104. data/sample_app_rails_4/app/models/relationship.rb +0 -6
  105. data/sample_app_rails_4/app/models/user.rb +0 -39
  106. data/sample_app_rails_4/app/views/layouts/_footer.html.erb +0 -13
  107. data/sample_app_rails_4/app/views/layouts/_header.html.erb +0 -31
  108. data/sample_app_rails_4/app/views/layouts/_shim.html.erb +0 -3
  109. data/sample_app_rails_4/app/views/layouts/application.html.erb +0 -22
  110. data/sample_app_rails_4/app/views/microposts/_micropost.html.erb +0 -11
  111. data/sample_app_rails_4/app/views/relationships/create.js.erb +0 -2
  112. data/sample_app_rails_4/app/views/relationships/destroy.js.erb +0 -2
  113. data/sample_app_rails_4/app/views/sessions/new.html.erb +0 -19
  114. data/sample_app_rails_4/app/views/shared/_error_messages.html.erb +0 -12
  115. data/sample_app_rails_4/app/views/shared/_feed.html.erb +0 -6
  116. data/sample_app_rails_4/app/views/shared/_feed_item.html.erb +0 -15
  117. data/sample_app_rails_4/app/views/shared/_micropost_form.html.erb +0 -7
  118. data/sample_app_rails_4/app/views/shared/_stats.html.erb +0 -15
  119. data/sample_app_rails_4/app/views/shared/_user_info.html.erb +0 -12
  120. data/sample_app_rails_4/app/views/static_pages/about.html.erb +0 -8
  121. data/sample_app_rails_4/app/views/static_pages/contact.html.erb +0 -6
  122. data/sample_app_rails_4/app/views/static_pages/help.html.erb +0 -8
  123. data/sample_app_rails_4/app/views/static_pages/home.html.erb +0 -34
  124. data/sample_app_rails_4/app/views/static_pages/show.html.erb +0 -0
  125. data/sample_app_rails_4/app/views/users/_follow.html.erb +0 -5
  126. data/sample_app_rails_4/app/views/users/_follow_form.html.erb +0 -9
  127. data/sample_app_rails_4/app/views/users/_unfollow.html.erb +0 -5
  128. data/sample_app_rails_4/app/views/users/_user.html.erb +0 -8
  129. data/sample_app_rails_4/app/views/users/edit.html.erb +0 -27
  130. data/sample_app_rails_4/app/views/users/index.html.erb +0 -10
  131. data/sample_app_rails_4/app/views/users/new.html.erb +0 -24
  132. data/sample_app_rails_4/app/views/users/show.html.erb +0 -24
  133. data/sample_app_rails_4/app/views/users/show_follow.html.erb +0 -30
  134. data/sample_app_rails_4/bin/bundle +0 -3
  135. data/sample_app_rails_4/bin/rails +0 -4
  136. data/sample_app_rails_4/bin/rake +0 -4
  137. data/sample_app_rails_4/bin/rspec +0 -16
  138. data/sample_app_rails_4/config.ru +0 -4
  139. data/sample_app_rails_4/config/application.rb +0 -28
  140. data/sample_app_rails_4/config/boot.rb +0 -4
  141. data/sample_app_rails_4/config/database.yml +0 -27
  142. data/sample_app_rails_4/config/environment.rb +0 -5
  143. data/sample_app_rails_4/config/environments/development.rb +0 -25
  144. data/sample_app_rails_4/config/environments/production.rb +0 -79
  145. data/sample_app_rails_4/config/environments/test.rb +0 -38
  146. data/sample_app_rails_4/config/initializers/active_mocker.rb +0 -12
  147. data/sample_app_rails_4/config/initializers/backtrace_silencers.rb +0 -7
  148. data/sample_app_rails_4/config/initializers/filter_parameter_logging.rb +0 -4
  149. data/sample_app_rails_4/config/initializers/inflections.rb +0 -16
  150. data/sample_app_rails_4/config/initializers/mime_types.rb +0 -5
  151. data/sample_app_rails_4/config/initializers/secret_token.rb +0 -22
  152. data/sample_app_rails_4/config/initializers/session_store.rb +0 -3
  153. data/sample_app_rails_4/config/initializers/wrap_parameters.rb +0 -14
  154. data/sample_app_rails_4/config/locales/en.yml +0 -23
  155. data/sample_app_rails_4/config/routes.rb +0 -17
  156. data/sample_app_rails_4/db/migrate/20130311191400_create_users.rb +0 -10
  157. data/sample_app_rails_4/db/migrate/20130311194153_add_index_to_users_email.rb +0 -5
  158. data/sample_app_rails_4/db/migrate/20130311201841_add_password_digest_to_users.rb +0 -5
  159. data/sample_app_rails_4/db/migrate/20130314184954_add_remember_token_to_users.rb +0 -6
  160. data/sample_app_rails_4/db/migrate/20130315015932_add_admin_to_users.rb +0 -5
  161. data/sample_app_rails_4/db/migrate/20130315175534_create_microposts.rb +0 -11
  162. data/sample_app_rails_4/db/migrate/20130315230445_create_relationships.rb +0 -13
  163. data/sample_app_rails_4/db/schema.rb +0 -51
  164. data/sample_app_rails_4/db/seeds.rb +0 -7
  165. data/sample_app_rails_4/features/signing_in.feature +0 -13
  166. data/sample_app_rails_4/features/step_definitions/authentication_steps.rb +0 -30
  167. data/sample_app_rails_4/features/support/env.rb +0 -59
  168. data/sample_app_rails_4/lib/assets/.keep +0 -0
  169. data/sample_app_rails_4/lib/tasks/.keep +0 -0
  170. data/sample_app_rails_4/lib/tasks/active_mocker.rake +0 -10
  171. data/sample_app_rails_4/lib/tasks/cucumber.rake +0 -65
  172. data/sample_app_rails_4/lib/tasks/sample_data.rake +0 -42
  173. data/sample_app_rails_4/lib/unit_logger.rb +0 -22
  174. data/sample_app_rails_4/public/404.html +0 -27
  175. data/sample_app_rails_4/public/422.html +0 -26
  176. data/sample_app_rails_4/public/500.html +0 -26
  177. data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css +0 -5091
  178. data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css.gz +0 -0
  179. data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js +0 -12952
  180. data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js.gz +0 -0
  181. data/sample_app_rails_4/public/assets/glyphicons-halflings-c806376f05e4ccabe2c5315a8e95667c.png +0 -0
  182. data/sample_app_rails_4/public/assets/glyphicons-halflings-white-62b67d9edee3db90d18833087f848d6e.png +0 -0
  183. data/sample_app_rails_4/public/assets/manifest-802de9eb1c853769101852422b620883.json +0 -1
  184. data/sample_app_rails_4/public/assets/rails-231a680f23887d9dd70710ea5efd3c62.png +0 -0
  185. data/sample_app_rails_4/public/favicon.ico +0 -0
  186. data/sample_app_rails_4/public/robots.txt +0 -5
  187. data/sample_app_rails_4/script/cucumber +0 -10
  188. data/sample_app_rails_4/spec/compare_mocker_and_record_spec.rb +0 -1038
  189. data/sample_app_rails_4/spec/factories.rb +0 -17
  190. data/sample_app_rails_4/spec/micropost_mock_spec.rb +0 -145
  191. data/sample_app_rails_4/spec/mocks/micropost_mock.rb +0 -153
  192. data/sample_app_rails_4/spec/mocks/relationship_mock.rb +0 -151
  193. data/sample_app_rails_4/spec/mocks/user_mock.rb +0 -215
  194. data/sample_app_rails_4/spec/reload_spec.rb +0 -45
  195. data/sample_app_rails_4/spec/spec_helper.rb +0 -46
  196. data/sample_app_rails_4/spec/user_mock_spec.rb +0 -197
  197. data/sample_app_rails_4/vendor/assets/javascripts/.keep +0 -0
  198. data/sample_app_rails_4/vendor/assets/stylesheets/.keep +0 -0
  199. data/spec/lib/acitve_mock/queriable_spec.rb +0 -207
  200. data/spec/lib/active_mocker/db_to_ruby_type_spec.rb +0 -124
  201. data/spec/lib/active_mocker/generate_spec.rb +0 -40
  202. data/spec/lib/active_mocker/loaded_mocks_spec.rb +0 -167
  203. data/spec/lib/active_mocker/logger_spec.rb +0 -32
  204. data/spec/lib/active_mocker/model_reader_spec.rb +0 -206
  205. data/spec/lib/active_mocker/model_schema/generate_spec.rb +0 -111
  206. data/spec/lib/active_mocker/model_schema_spec.rb +0 -145
  207. data/spec/lib/active_mocker/schema_reader_spec.rb +0 -109
  208. data/spec/lib/model.rb +0 -43
  209. data/spec/lib/person.rb +0 -9
  210. data/spec/lib/readme_spec.rb +0 -199
  211. data/spec/lib/reparameterize_spec.rb +0 -202
  212. data/spec/lib/schema.rb +0 -40
  213. data/spec/unit_logger.rb +0 -24
@@ -1,207 +0,0 @@
1
- require 'rspec'
2
- $:.unshift File.expand_path('../../', __FILE__)
3
- require 'active_support/all'
4
- require 'active_mock/queries'
5
- require 'active_mock/collection'
6
- require 'ostruct'
7
-
8
- describe ActiveMock::Queries do
9
-
10
- before do
11
-
12
- class Queriable < ActiveMock::Collection
13
- include ActiveMock::Queries
14
- end
15
-
16
- end
17
-
18
- subject{ Queriable.new }
19
-
20
- describe '#sum' do
21
-
22
- it 'sum values by attribute name' do
23
- subject << [OpenStruct.new(value: 1), OpenStruct.new(value: 1)]
24
- expect(subject.sum(:value)).to eq 2
25
- end
26
-
27
- end
28
-
29
- describe '#limit' do
30
-
31
- let!(:given_collection){ [OpenStruct.new(value: 1),
32
- OpenStruct.new(value: 2),
33
- OpenStruct.new(value: 3)]}
34
-
35
- it 'will return only the n-number of items' do
36
- subject << given_collection
37
- expect(subject.limit(1).count).to eq 1
38
- end
39
-
40
- end
41
-
42
- describe '#<<' do
43
-
44
- it 'will add a single item to the array' do
45
-
46
- subject << "item"
47
- expect(subject.count).to eq 1
48
- expect(subject.first).to eq 'item'
49
-
50
- end
51
-
52
- it 'will add a many item to the array' do
53
-
54
- subject << ['item1', 'item2', 'item3']
55
- expect(subject.count).to eq 3
56
- expect(subject).to eq ['item1', 'item2', 'item3']
57
-
58
- end
59
-
60
- end
61
-
62
- describe 'new' do
63
-
64
- it 'take optional item and adds to collection' do
65
-
66
- subject = Queriable.new(1)
67
-
68
- expect(subject.first).to eq 1
69
-
70
- end
71
-
72
- it 'can take an array' do
73
-
74
- subject = Queriable.new([1])
75
-
76
- expect(subject.first).to eq 1
77
-
78
- subject = Queriable.new([1,2])
79
-
80
- expect(subject.last).to eq 2
81
-
82
- end
83
-
84
- end
85
-
86
- describe 'empty?' do
87
-
88
- it 'returns true if collection is empty' do
89
- expect(subject.empty?).to eq true
90
- end
91
-
92
- it 'returns false if collection is not empty' do
93
- subject << 1
94
- expect(subject.empty?).to eq false
95
- end
96
-
97
- end
98
-
99
- describe 'each' do
100
-
101
- it 'can iterate over array' do
102
- sum = 0
103
- Queriable.new([1, 2]).each { |a| sum += a }
104
- expect(sum).to eq 3
105
- end
106
-
107
- end
108
-
109
- describe 'map' do
110
-
111
- it 'return a new array' do
112
- expect(Queriable.new([1, 2]).map { |a| a + a }).to eq [2, 4]
113
- end
114
-
115
- it 'return an instance of the class' do
116
- expect(Queriable.new([1, 2]).map { |a| a + a }).to be_a_kind_of Array
117
- end
118
-
119
- end
120
-
121
- describe 'delete_all' do
122
-
123
- let!(:given_collection) { [double(delete: true),
124
- double(delete: true),
125
- double(delete: true)] }
126
-
127
- before do
128
- given_collection.each do |item|
129
- expect(item).to receive(:delete)
130
- end
131
- subject << given_collection
132
- end
133
-
134
- it 'calls delete on every item in the collection' do
135
- subject.delete_all
136
- end
137
-
138
- context 'alias destroy_all' do
139
-
140
- it 'calls delete on every item in the collection' do
141
- subject.destroy_all
142
- end
143
-
144
- end
145
-
146
- end
147
-
148
- describe '#all' do
149
- subject{ Queriable.new(given_collection)}
150
-
151
- let(:given_collection) { [1,1,1] }
152
-
153
- it 'return the collection' do
154
- expect(subject.all).to eq given_collection
155
- end
156
-
157
- it 'returns an instance of the class' do
158
- expect(subject.all).to be_a_kind_of Queriable
159
- end
160
-
161
- end
162
-
163
- describe 'where' do
164
-
165
- context 'with condition' do
166
-
167
- subject{ Queriable.new(given_collection)}
168
-
169
- let(:given_collection) { [OpenStruct.new(value: 1),
170
- OpenStruct.new(value: 2),
171
- OpenStruct.new(value: 3)] }
172
-
173
- it 'returns array of values that meet the condition' do
174
- expect(subject.where(value: 1)).to eq [given_collection.first]
175
- end
176
-
177
- it 'returns an instance of the class' do
178
- expect(subject.where(value: 1)).to be_a_kind_of(Queriable)
179
- end
180
-
181
- end
182
-
183
- context 'without condition' do
184
-
185
- subject { Queriable.new(given_collection) }
186
-
187
- it 'return a WhereNotChain' do
188
- expect(subject.where).to be_a_kind_of(ActiveMock::Queries::WhereNotChain)
189
- end
190
-
191
- let(:given_collection) { [OpenStruct.new(value: 1),
192
- OpenStruct.new(value: 2),
193
- OpenStruct.new(value: 3)] }
194
-
195
- it 'takes .not(condition)' do
196
- expect(subject.where.not(value: 1)).to eq [given_collection[1], given_collection[2]]
197
- end
198
-
199
- it '.not(condition) return the class' do
200
- expect(subject.where.not(value: 1)).to be_a_kind_of(Queriable)
201
- end
202
-
203
- end
204
-
205
- end
206
-
207
- end
@@ -1,124 +0,0 @@
1
- require 'rspec'
2
- require 'rspec/given'
3
- $:.unshift File.expand_path('../../../lib', __FILE__)
4
- require 'bigdecimal'
5
- require 'axiom/types'
6
- require 'active_mocker/db_to_ruby_type'
7
-
8
- describe ActiveMocker::DBToRubyType do
9
-
10
- describe '::call' do
11
-
12
- context 'integer' do
13
-
14
- Given(:db_type) { :integer }
15
-
16
- When (:call) { described_class.call(db_type) }
17
-
18
- Then { expect(call).to eq(Fixnum) }
19
-
20
- end
21
-
22
- context 'float' do
23
-
24
- Given(:db_type) { :float }
25
-
26
- When (:call) { described_class.call(db_type) }
27
-
28
- Then { expect(call).to eq(Float) }
29
-
30
- end
31
-
32
- context 'decimal' do
33
-
34
- Given(:db_type) { :decimal }
35
-
36
- When (:call) { described_class.call(db_type) }
37
-
38
- Then { expect(call).to eq(BigDecimal) }
39
-
40
- end
41
-
42
- context 'timestamp' do
43
-
44
- Given(:db_type) { :timestamp }
45
-
46
- When (:call) { described_class.call(db_type) }
47
-
48
- Then { expect(call).to eq(Time) }
49
-
50
- end
51
-
52
- context 'time' do
53
-
54
- Given(:db_type) { :time }
55
-
56
- When (:call) { described_class.call(db_type) }
57
-
58
- Then { expect(call).to eq(Time) }
59
-
60
- end
61
-
62
- context 'datetime' do
63
-
64
- Given(:db_type) { :datetime }
65
-
66
- When (:call) { described_class.call(db_type) }
67
-
68
- Then { expect(call).to eq(DateTime) }
69
-
70
- end
71
-
72
- context 'date' do
73
-
74
- Given(:db_type) { :date }
75
-
76
- When (:call) { described_class.call(db_type) }
77
-
78
- Then { expect(call).to eq(Date) }
79
-
80
- end
81
-
82
- context 'text' do
83
-
84
- Given(:db_type) { :text }
85
-
86
- When (:call) { described_class.call(db_type) }
87
-
88
- Then { expect(call).to eq(String) }
89
-
90
- end
91
-
92
- context 'string' do
93
-
94
- Given(:db_type) { :string }
95
-
96
- When (:call) { described_class.call(db_type) }
97
-
98
- Then { expect(call).to eq(String) }
99
-
100
- end
101
-
102
- context 'binary' do
103
-
104
- Given(:db_type) { :binary }
105
-
106
- When (:call) { described_class.call(db_type) }
107
-
108
- Then { expect(call).to eq(String) }
109
-
110
- end
111
-
112
- context 'boolean' do
113
-
114
- Given(:db_type) { :boolean }
115
-
116
- When (:call) { described_class.call(db_type) }
117
-
118
- Then { expect(call).to eq(Axiom::Types::Boolean) }
119
-
120
- end
121
-
122
- end
123
-
124
- end
@@ -1,40 +0,0 @@
1
- require 'rspec'
2
- $:.unshift File.expand_path('../../', __FILE__)
3
- require 'active_mocker'
4
- require_relative '../../unit_logger'
5
-
6
- describe ActiveMocker::Generate do
7
-
8
- let(:app_root){ File.expand_path('../../../../', __FILE__)}
9
- let(:mock_dir){ File.join(app_root, 'sample_app_rails_4/spec/mocks')}
10
-
11
- before(:each) do
12
- ActiveMocker.config do |config|
13
- config.schema_file = File.join(app_root, 'sample_app_rails_4/db/schema.rb')
14
- config.model_dir = File.join(app_root, 'sample_app_rails_4/app/models')
15
- config.mock_dir = mock_dir
16
- config.logger = UnitLogger
17
- end
18
-
19
- FileUtils.rm_rf mock_dir
20
-
21
- end
22
-
23
- subject{described_class.new}
24
-
25
- describe 'new' do
26
-
27
- before(:each) do
28
- subject
29
- end
30
-
31
- it 'generates all mocks files' do
32
- expect(File.exist? File.join(mock_dir, 'user_mock.rb') ).to eq true
33
- expect(File.exist? File.join(mock_dir, 'micropost_mock.rb') ).to eq true
34
- expect(File.exist? File.join(mock_dir, 'relationship_mock.rb')).to eq true
35
- end
36
-
37
- end
38
-
39
- end
40
-
@@ -1,167 +0,0 @@
1
- require 'rspec'
2
- $:.unshift File.expand_path('../../', __FILE__)
3
- require 'active_mocker/loaded_mocks'
4
-
5
- describe ActiveMocker::LoadedMocks do
6
-
7
- before(:each) do
8
-
9
- class MockClass
10
- def self.mocked_class
11
- @@clear_called = false
12
- @@delete_all_called = false
13
- @@reload_all_called = false
14
- 'Object'
15
- end
16
-
17
- def self.clear_mock
18
- @@clear_called = true
19
- end
20
-
21
- def self.delete_all
22
- @@delete_all_called = true
23
- end
24
-
25
- def self.reload
26
- @@reload_all_called = true
27
- end
28
- end
29
-
30
- class MockClass2
31
- def self.mocked_class
32
- @@clear_called = false
33
- @@delete_all_called = false
34
- @@reload_all_called = false
35
- 'Object'
36
- end
37
-
38
- def self.clear_mock
39
- @@clear_called = true
40
- end
41
-
42
- def self.delete_all
43
- @@delete_all_called = true
44
- end
45
-
46
- def self.reload
47
- @@reload_all_called = true
48
- end
49
-
50
- end
51
- end
52
-
53
- after(:each) do
54
- described_class.send(:internal_clear)
55
- end
56
-
57
- describe '::class_name_to_mock' do
58
-
59
- subject{ described_class.class_name_to_mock }
60
-
61
- it 'returns key of mocked_class and a constant of the mock class' do
62
- described_class.add MockClass
63
- expect(subject).to eq({'Object' => MockClass})
64
- end
65
-
66
- end
67
-
68
- describe '::clear_all' do
69
-
70
- before do
71
- ActiveMocker::LoadedMocks.add MockClass
72
- ActiveMocker::LoadedMocks.add_subclass MockClass2
73
- described_class.clear_all
74
- end
75
-
76
- it 'will call clear_mock on each loaded mock' do
77
- expect(clear_mock_called?(MockClass)).to eq true
78
- expect(clear_mock_called?(MockClass2)).to eq true
79
- end
80
-
81
- it 'will empty the sub classes' do
82
- expect(ActiveMocker::LoadedMocks.subclasses.empty?).to eq true
83
- end
84
-
85
- def clear_mock_called?(mock)
86
- return true if mock.class_variable_get(:@@clear_called)
87
- return false
88
- end
89
-
90
- end
91
-
92
- describe '::delete_all' do
93
-
94
- it 'will call delete_all on each loaded mock' do
95
-
96
- described_class.add MockClass
97
- described_class.add_subclass MockClass2
98
- described_class.delete_all
99
- expect(delete_all_called?(MockClass)).to eq true
100
- expect(delete_all_called?(MockClass2)).to eq true
101
-
102
- end
103
-
104
- def delete_all_called?(mock)
105
- return true if mock.class_variable_get(:@@delete_all_called)
106
- return false
107
- end
108
-
109
- end
110
-
111
- describe '::mocks' do
112
-
113
- it 'returns hash the key being a string and the value being the constant' do
114
-
115
- described_class.add MockClass
116
- described_class.add MockClass2
117
- expect(described_class.mocks).to eq({"MockClass" => MockClass, "MockClass2" => MockClass2})
118
-
119
- end
120
-
121
- end
122
-
123
- describe '::all' do
124
-
125
- it 'returns hash the key being a string and the value being the constant' do
126
-
127
- described_class.add MockClass
128
- described_class.add MockClass2
129
- expect(described_class.all).to eq({"MockClass" => MockClass, "MockClass2" => MockClass2})
130
-
131
- end
132
-
133
- end
134
-
135
- describe '::undefine_all' do
136
-
137
- # it 'will call delete_all on each loaded mock' do
138
- #
139
- # described_class.add MockClass
140
- # described_class.add MockClass2
141
- #
142
- # described_class.undefine_all
143
- # expect(Object.const_defined?('MockClass')).to eq false
144
- # expect(Object.const_defined?('MockClass2')).to eq false
145
- #
146
- # end
147
-
148
- end
149
-
150
- describe '::reload_all' do
151
-
152
- it 'will call reload on each loaded mock' do
153
- described_class.add MockClass
154
- described_class.add_subclass MockClass2
155
- described_class.reload_all
156
- expect(reload_all_called?(MockClass)).to eq true
157
- expect(reload_all_called?(MockClass2)).to eq true
158
- end
159
-
160
- def reload_all_called?(mock)
161
- return true if mock.class_variable_get(:@@reload_all_called)
162
- return false
163
- end
164
-
165
- end
166
-
167
- end