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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/README.md +35 -29
- data/lib/active_mocker.rb +3 -1
- data/lib/active_mocker/active_record.rb +27 -5
- data/lib/active_mocker/active_record/scope.rb +5 -5
- data/lib/active_mocker/active_record/unknown_module.rb +4 -4
- data/lib/active_mocker/generate.rb +36 -15
- data/lib/active_mocker/loaded_mocks.rb +60 -54
- data/lib/active_mocker/mock.rb +24 -0
- data/lib/active_mocker/mock/association.rb +6 -0
- data/lib/{active_mock → active_mocker/mock}/base.rb +43 -89
- data/lib/{active_mock → active_mocker/mock}/collection.rb +14 -7
- data/lib/{active_mock → active_mocker/mock}/do_nothing_active_record_methods.rb +7 -1
- data/lib/active_mocker/mock/exceptions.rb +25 -0
- data/lib/active_mocker/mock/has_and_belongs_to_many.rb +6 -0
- data/lib/active_mocker/mock/has_many.rb +60 -0
- data/lib/active_mocker/mock/hash_process.rb +19 -0
- data/lib/active_mocker/mock/mock_abilities.rb +98 -0
- data/lib/{active_mock → active_mocker/mock}/next_id.rb +7 -2
- data/lib/{active_mock → active_mocker/mock}/object_inspect.rb +3 -1
- data/lib/{active_mock → active_mocker/mock}/queries.rb +32 -29
- data/lib/active_mocker/mock/records.rb +62 -0
- data/lib/{active_mock → active_mocker/mock}/relation.rb +4 -3
- data/lib/active_mocker/mock/template_methods.rb +39 -0
- data/lib/active_mocker/mock_template.erb +45 -31
- data/lib/active_mocker/model_reader.rb +29 -0
- data/lib/active_mocker/model_schema.rb +23 -16
- data/lib/active_mocker/model_schema/generate.rb +19 -8
- data/lib/active_mocker/railtie.rb +17 -0
- data/lib/active_mocker/reparameterize.rb +2 -4
- data/lib/active_mocker/rspec_helper.rb +18 -0
- data/lib/active_mocker/task.rake +15 -0
- data/lib/active_mocker/version.rb +1 -1
- metadata +80 -206
- data/.gitignore +0 -19
- data/.hound.yml +0 -0
- data/.travis.yml +0 -5
- data/Gemfile +0 -4
- data/Rakefile +0 -26
- data/active_mocker.gemspec +0 -40
- data/lib/active_mock/association.rb +0 -7
- data/lib/active_mock/creators.rb +0 -25
- data/lib/active_mock/has_and_belongs_to_many.rb +0 -7
- data/lib/active_mock/has_many.rb +0 -54
- data/lib/active_mock/records.rb +0 -83
- data/lib/active_mocker/active_mock.rb +0 -26
- data/lib/active_mocker/active_record/const_missing.rb +0 -5
- data/lib/active_mocker/class_exists.rb +0 -12
- data/lib/active_mocker/const_sets.rb +0 -24
- data/lib/active_mocker/mock_task.rb +0 -12
- data/sample_app_rails_4/.idea/.generators +0 -8
- data/sample_app_rails_4/.idea/.name +0 -1
- data/sample_app_rails_4/.idea/.rakeTasks +0 -7
- data/sample_app_rails_4/.idea/dataSources.ids +0 -141
- data/sample_app_rails_4/.idea/dataSources.xml +0 -36
- data/sample_app_rails_4/.idea/dictionaries/zeisler.xml +0 -3
- data/sample_app_rails_4/.idea/encodings.xml +0 -5
- data/sample_app_rails_4/.idea/inspectionProfiles/Project_Default.xml +0 -20
- data/sample_app_rails_4/.idea/inspectionProfiles/profiles_settings.xml +0 -7
- data/sample_app_rails_4/.idea/misc.xml +0 -5
- data/sample_app_rails_4/.idea/modules.xml +0 -10
- data/sample_app_rails_4/.idea/runConfigurations/Development__sample_app_rails_4.xml +0 -28
- data/sample_app_rails_4/.idea/runConfigurations/Production__sample_app_rails_4.xml +0 -28
- data/sample_app_rails_4/.idea/runConfigurations/spec__sample_app_rails_4.xml +0 -26
- data/sample_app_rails_4/.idea/runConfigurations/test__sample_app_rails_4.xml +0 -28
- data/sample_app_rails_4/.idea/sample_app_rails_4.iml +0 -262
- data/sample_app_rails_4/.idea/scopes/scope_settings.xml +0 -5
- data/sample_app_rails_4/.idea/vcs.xml +0 -7
- data/sample_app_rails_4/.idea/workspace.xml +0 -619
- data/sample_app_rails_4/.rspec +0 -1
- data/sample_app_rails_4/.secret +0 -1
- data/sample_app_rails_4/Gemfile +0 -13
- data/sample_app_rails_4/Guardfile +0 -53
- data/sample_app_rails_4/LICENSE +0 -21
- data/sample_app_rails_4/README.md +0 -25
- data/sample_app_rails_4/README.nitrous.md +0 -20
- data/sample_app_rails_4/Rakefile +0 -6
- data/sample_app_rails_4/app/assets/images/rails.png +0 -0
- data/sample_app_rails_4/app/assets/javascripts/application.js +0 -17
- data/sample_app_rails_4/app/assets/javascripts/sessions.js.coffee +0 -3
- data/sample_app_rails_4/app/assets/javascripts/static_pages.js.coffee +0 -3
- data/sample_app_rails_4/app/assets/javascripts/users.js.coffee +0 -3
- data/sample_app_rails_4/app/assets/stylesheets/application.css +0 -13
- data/sample_app_rails_4/app/assets/stylesheets/custom.css.scss +0 -246
- data/sample_app_rails_4/app/assets/stylesheets/sessions.css.scss +0 -3
- data/sample_app_rails_4/app/assets/stylesheets/static_pages.css.scss +0 -3
- data/sample_app_rails_4/app/assets/stylesheets/users.css.scss +0 -3
- data/sample_app_rails_4/app/controllers/application_controller.rb +0 -6
- data/sample_app_rails_4/app/controllers/concerns/.keep +0 -0
- data/sample_app_rails_4/app/controllers/microposts_controller.rb +0 -31
- data/sample_app_rails_4/app/controllers/relationships_controller.rb +0 -21
- data/sample_app_rails_4/app/controllers/sessions_controller.rb +0 -21
- data/sample_app_rails_4/app/controllers/static_pages_controller.rb +0 -18
- data/sample_app_rails_4/app/controllers/users_controller.rb +0 -80
- data/sample_app_rails_4/app/helpers/application_helper.rb +0 -12
- data/sample_app_rails_4/app/helpers/sessions_helper.rb +0 -49
- data/sample_app_rails_4/app/helpers/static_pages_helper.rb +0 -2
- data/sample_app_rails_4/app/helpers/users_helper.rb +0 -10
- data/sample_app_rails_4/app/mailers/.keep +0 -0
- data/sample_app_rails_4/app/models/.keep +0 -0
- data/sample_app_rails_4/app/models/concerns/.keep +0 -0
- data/sample_app_rails_4/app/models/micropost.rb +0 -24
- data/sample_app_rails_4/app/models/relationship.rb +0 -6
- data/sample_app_rails_4/app/models/user.rb +0 -39
- data/sample_app_rails_4/app/views/layouts/_footer.html.erb +0 -13
- data/sample_app_rails_4/app/views/layouts/_header.html.erb +0 -31
- data/sample_app_rails_4/app/views/layouts/_shim.html.erb +0 -3
- data/sample_app_rails_4/app/views/layouts/application.html.erb +0 -22
- data/sample_app_rails_4/app/views/microposts/_micropost.html.erb +0 -11
- data/sample_app_rails_4/app/views/relationships/create.js.erb +0 -2
- data/sample_app_rails_4/app/views/relationships/destroy.js.erb +0 -2
- data/sample_app_rails_4/app/views/sessions/new.html.erb +0 -19
- data/sample_app_rails_4/app/views/shared/_error_messages.html.erb +0 -12
- data/sample_app_rails_4/app/views/shared/_feed.html.erb +0 -6
- data/sample_app_rails_4/app/views/shared/_feed_item.html.erb +0 -15
- data/sample_app_rails_4/app/views/shared/_micropost_form.html.erb +0 -7
- data/sample_app_rails_4/app/views/shared/_stats.html.erb +0 -15
- data/sample_app_rails_4/app/views/shared/_user_info.html.erb +0 -12
- data/sample_app_rails_4/app/views/static_pages/about.html.erb +0 -8
- data/sample_app_rails_4/app/views/static_pages/contact.html.erb +0 -6
- data/sample_app_rails_4/app/views/static_pages/help.html.erb +0 -8
- data/sample_app_rails_4/app/views/static_pages/home.html.erb +0 -34
- data/sample_app_rails_4/app/views/static_pages/show.html.erb +0 -0
- data/sample_app_rails_4/app/views/users/_follow.html.erb +0 -5
- data/sample_app_rails_4/app/views/users/_follow_form.html.erb +0 -9
- data/sample_app_rails_4/app/views/users/_unfollow.html.erb +0 -5
- data/sample_app_rails_4/app/views/users/_user.html.erb +0 -8
- data/sample_app_rails_4/app/views/users/edit.html.erb +0 -27
- data/sample_app_rails_4/app/views/users/index.html.erb +0 -10
- data/sample_app_rails_4/app/views/users/new.html.erb +0 -24
- data/sample_app_rails_4/app/views/users/show.html.erb +0 -24
- data/sample_app_rails_4/app/views/users/show_follow.html.erb +0 -30
- data/sample_app_rails_4/bin/bundle +0 -3
- data/sample_app_rails_4/bin/rails +0 -4
- data/sample_app_rails_4/bin/rake +0 -4
- data/sample_app_rails_4/bin/rspec +0 -16
- data/sample_app_rails_4/config.ru +0 -4
- data/sample_app_rails_4/config/application.rb +0 -28
- data/sample_app_rails_4/config/boot.rb +0 -4
- data/sample_app_rails_4/config/database.yml +0 -27
- data/sample_app_rails_4/config/environment.rb +0 -5
- data/sample_app_rails_4/config/environments/development.rb +0 -25
- data/sample_app_rails_4/config/environments/production.rb +0 -79
- data/sample_app_rails_4/config/environments/test.rb +0 -38
- data/sample_app_rails_4/config/initializers/active_mocker.rb +0 -12
- data/sample_app_rails_4/config/initializers/backtrace_silencers.rb +0 -7
- data/sample_app_rails_4/config/initializers/filter_parameter_logging.rb +0 -4
- data/sample_app_rails_4/config/initializers/inflections.rb +0 -16
- data/sample_app_rails_4/config/initializers/mime_types.rb +0 -5
- data/sample_app_rails_4/config/initializers/secret_token.rb +0 -22
- data/sample_app_rails_4/config/initializers/session_store.rb +0 -3
- data/sample_app_rails_4/config/initializers/wrap_parameters.rb +0 -14
- data/sample_app_rails_4/config/locales/en.yml +0 -23
- data/sample_app_rails_4/config/routes.rb +0 -17
- data/sample_app_rails_4/db/migrate/20130311191400_create_users.rb +0 -10
- data/sample_app_rails_4/db/migrate/20130311194153_add_index_to_users_email.rb +0 -5
- data/sample_app_rails_4/db/migrate/20130311201841_add_password_digest_to_users.rb +0 -5
- data/sample_app_rails_4/db/migrate/20130314184954_add_remember_token_to_users.rb +0 -6
- data/sample_app_rails_4/db/migrate/20130315015932_add_admin_to_users.rb +0 -5
- data/sample_app_rails_4/db/migrate/20130315175534_create_microposts.rb +0 -11
- data/sample_app_rails_4/db/migrate/20130315230445_create_relationships.rb +0 -13
- data/sample_app_rails_4/db/schema.rb +0 -51
- data/sample_app_rails_4/db/seeds.rb +0 -7
- data/sample_app_rails_4/features/signing_in.feature +0 -13
- data/sample_app_rails_4/features/step_definitions/authentication_steps.rb +0 -30
- data/sample_app_rails_4/features/support/env.rb +0 -59
- data/sample_app_rails_4/lib/assets/.keep +0 -0
- data/sample_app_rails_4/lib/tasks/.keep +0 -0
- data/sample_app_rails_4/lib/tasks/active_mocker.rake +0 -10
- data/sample_app_rails_4/lib/tasks/cucumber.rake +0 -65
- data/sample_app_rails_4/lib/tasks/sample_data.rake +0 -42
- data/sample_app_rails_4/lib/unit_logger.rb +0 -22
- data/sample_app_rails_4/public/404.html +0 -27
- data/sample_app_rails_4/public/422.html +0 -26
- data/sample_app_rails_4/public/500.html +0 -26
- data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css +0 -5091
- data/sample_app_rails_4/public/assets/application-4962059d8f80f9bb096692bacc29c4e8.css.gz +0 -0
- data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js +0 -12952
- data/sample_app_rails_4/public/assets/application-eeb856e3fe2c8f879c91d0e81d59cb40.js.gz +0 -0
- data/sample_app_rails_4/public/assets/glyphicons-halflings-c806376f05e4ccabe2c5315a8e95667c.png +0 -0
- data/sample_app_rails_4/public/assets/glyphicons-halflings-white-62b67d9edee3db90d18833087f848d6e.png +0 -0
- data/sample_app_rails_4/public/assets/manifest-802de9eb1c853769101852422b620883.json +0 -1
- data/sample_app_rails_4/public/assets/rails-231a680f23887d9dd70710ea5efd3c62.png +0 -0
- data/sample_app_rails_4/public/favicon.ico +0 -0
- data/sample_app_rails_4/public/robots.txt +0 -5
- data/sample_app_rails_4/script/cucumber +0 -10
- data/sample_app_rails_4/spec/compare_mocker_and_record_spec.rb +0 -1038
- data/sample_app_rails_4/spec/factories.rb +0 -17
- data/sample_app_rails_4/spec/micropost_mock_spec.rb +0 -145
- data/sample_app_rails_4/spec/mocks/micropost_mock.rb +0 -153
- data/sample_app_rails_4/spec/mocks/relationship_mock.rb +0 -151
- data/sample_app_rails_4/spec/mocks/user_mock.rb +0 -215
- data/sample_app_rails_4/spec/reload_spec.rb +0 -45
- data/sample_app_rails_4/spec/spec_helper.rb +0 -46
- data/sample_app_rails_4/spec/user_mock_spec.rb +0 -197
- data/sample_app_rails_4/vendor/assets/javascripts/.keep +0 -0
- data/sample_app_rails_4/vendor/assets/stylesheets/.keep +0 -0
- data/spec/lib/acitve_mock/queriable_spec.rb +0 -207
- data/spec/lib/active_mocker/db_to_ruby_type_spec.rb +0 -124
- data/spec/lib/active_mocker/generate_spec.rb +0 -40
- data/spec/lib/active_mocker/loaded_mocks_spec.rb +0 -167
- data/spec/lib/active_mocker/logger_spec.rb +0 -32
- data/spec/lib/active_mocker/model_reader_spec.rb +0 -206
- data/spec/lib/active_mocker/model_schema/generate_spec.rb +0 -111
- data/spec/lib/active_mocker/model_schema_spec.rb +0 -145
- data/spec/lib/active_mocker/schema_reader_spec.rb +0 -109
- data/spec/lib/model.rb +0 -43
- data/spec/lib/person.rb +0 -9
- data/spec/lib/readme_spec.rb +0 -199
- data/spec/lib/reparameterize_spec.rb +0 -202
- data/spec/lib/schema.rb +0 -40
- data/spec/unit_logger.rb +0 -24
|
File without changes
|
|
File without changes
|
|
@@ -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
|