test_redmine_vz 0.0.24

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 (59) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/README.md +71 -0
  5. data/Rakefile +20 -0
  6. data/config/currency_iso.json +2532 -0
  7. data/doc/CHANGELOG +55 -0
  8. data/doc/LICENSE.txt +339 -0
  9. data/lib/redmine_crm.rb +67 -0
  10. data/lib/redmine_crm/currency.rb +439 -0
  11. data/lib/redmine_crm/currency/formatting.rb +227 -0
  12. data/lib/redmine_crm/currency/heuristics.rb +151 -0
  13. data/lib/redmine_crm/currency/loader.rb +24 -0
  14. data/lib/redmine_crm/helpers/tags_helper.rb +15 -0
  15. data/lib/redmine_crm/helpers/vote_helper.rb +38 -0
  16. data/lib/redmine_crm/liquid/drops/issues_drop.rb +61 -0
  17. data/lib/redmine_crm/liquid/drops/news_drop.rb +45 -0
  18. data/lib/redmine_crm/liquid/drops/projects_drop.rb +78 -0
  19. data/lib/redmine_crm/liquid/drops/users_drop.rb +59 -0
  20. data/lib/redmine_crm/liquid/filters.rb +85 -0
  21. data/lib/redmine_crm/money_helper.rb +67 -0
  22. data/lib/redmine_crm/rcrm_acts_as_taggable.rb +342 -0
  23. data/lib/redmine_crm/rcrm_acts_as_viewed.rb +287 -0
  24. data/lib/redmine_crm/rcrm_acts_as_votable.rb +79 -0
  25. data/lib/redmine_crm/rcrm_acts_as_voter.rb +27 -0
  26. data/lib/redmine_crm/tag.rb +81 -0
  27. data/lib/redmine_crm/tag_list.rb +112 -0
  28. data/lib/redmine_crm/tagging.rb +20 -0
  29. data/lib/redmine_crm/version.rb +3 -0
  30. data/lib/redmine_crm/votable.rb +334 -0
  31. data/lib/redmine_crm/vote.rb +30 -0
  32. data/lib/redmine_crm/voter.rb +136 -0
  33. data/redmine_crm.gemspec +22 -0
  34. data/test/acts_as_taggable_test.rb +384 -0
  35. data/test/currency_test.rb +292 -0
  36. data/test/database.yml +17 -0
  37. data/test/fixtures/issue.rb +14 -0
  38. data/test/fixtures/issues.yml +12 -0
  39. data/test/fixtures/taggings.yml +32 -0
  40. data/test/fixtures/tags.yml +11 -0
  41. data/test/fixtures/user.rb +7 -0
  42. data/test/fixtures/users.yml +5 -0
  43. data/test/fixtures/votable_caches.yml +2 -0
  44. data/test/fixtures/votables.yml +4 -0
  45. data/test/fixtures/vote_classes.rb +54 -0
  46. data/test/fixtures/voters.yml +6 -0
  47. data/test/liquid_test.rb +80 -0
  48. data/test/money_helper_test.rb +12 -0
  49. data/test/schema.rb +100 -0
  50. data/test/tag_test.rb +63 -0
  51. data/test/tagging_test.rb +14 -0
  52. data/test/tags_helper_test.rb +29 -0
  53. data/test/test_helper.rb +118 -0
  54. data/test/viewed_test.rb +45 -0
  55. data/test/votable_model_test.rb +478 -0
  56. data/test/votable_test.rb +17 -0
  57. data/test/vote_helper_test.rb +28 -0
  58. data/test/voter_model_test.rb +296 -0
  59. metadata +141 -0
@@ -0,0 +1,17 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class VotableTest < ActiveSupport::TestCase
4
+ def test_not_be_votable
5
+ assert !NotVotable.votable?, false
6
+ end
7
+
8
+ def test_be_votable
9
+ assert Votable.votable?, true
10
+ end
11
+
12
+ def test_behaves_like_votable_model
13
+ assert Voter.create(:name => 'i can vote!')
14
+ assert VotableCache.create(:name => 'voting model with cache')
15
+ assert VotableVoter.create(:name => 'i can vote too!')
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class VoteHelperTest < ActiveSupport::TestCase
4
+ def vote
5
+ RedmineCrm::ActsAsVotable::Vote.new
6
+ end
7
+
8
+ def test_know_that_like_is_a_true_vote
9
+ assert vote.votable_words.that_mean_true.include? "like"
10
+ end
11
+
12
+ def test_know_that_bad_is_a_false_vote
13
+ assert vote.votable_words.that_mean_false.include? "bad"
14
+ end
15
+
16
+ def test_be_a_vote_for_true_when_word_is_good
17
+ assert vote.votable_words.meaning_of('good')
18
+ end
19
+
20
+ def test_be_a_vote_for_false_when_word_is_down
21
+ assert !vote.votable_words.meaning_of('down')
22
+ end
23
+
24
+ def test_be_a_vote_for_true_when_the_word_is_unknown
25
+ assert vote.votable_words.meaning_of('lsdhklkadhfs')
26
+ end
27
+
28
+ end
@@ -0,0 +1,296 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class VoterModelTest < ActiveSupport::TestCase
4
+ def votable
5
+ votables(:votable)
6
+ end
7
+
8
+ def voter
9
+ voters(:voter)
10
+ end
11
+
12
+ def votable_cache
13
+ votable_caches(:votable_cache)
14
+ end
15
+
16
+ def votable_klass
17
+ votable.class
18
+ end
19
+
20
+ def test_be_voted_on_after_a_voter_has_voted
21
+ votable.vote_by :voter => voter
22
+ assert voter.voted_on?(votable)
23
+ assert voter.voted_for?(votable)
24
+ end
25
+
26
+ def test_not_be_voted_on_if_a_voter_has_not_voted
27
+ assert !voter.voted_on?(votable)
28
+ end
29
+
30
+ def test_be_voted_on_after_a_voter_has_voted_under_scope
31
+ votable.vote_by :voter => voter, :vote_scope => 'rank'
32
+ assert voter.voted_on?(votable, :vote_scope => 'rank')
33
+ end
34
+
35
+ def test_not_be_voted_on_other_scope_after_a_voter_has_voted_under_one_scope
36
+ votable.vote_by(:voter => voter, :vote_scope => 'rank')
37
+ assert !voter.voted_on?(votable)
38
+ end
39
+
40
+ def test_be_voted_as_true_when_a_voter_has_voted_true
41
+ votable.vote_by(:voter => voter)
42
+ assert voter.voted_as_when_voted_on(votable)
43
+ assert voter.voted_as_when_voted_for(votable)
44
+ end
45
+
46
+ def test_be_voted_as_true_when_a_voter_has_voted_true_under_scope
47
+ votable.vote_by(:voter => voter, :vote_scope => 'rank')
48
+ assert voter.voted_as_when_voted_for(votable, :vote_scope => 'rank')
49
+ end
50
+
51
+ def test_be_voted_as_false_when_a_voter_has_voted_false
52
+ votable.vote_by(:voter => voter, :vote => false)
53
+ assert !voter.voted_as_when_voted_for(votable)
54
+ end
55
+
56
+ def test_be_voted_as_false_when_a_voter_has_voted_false_under_scope
57
+ votable.vote_by(:voter => voter, :vote => false, :vote_scope => 'rank')
58
+ assert !voter.voted_as_when_voted_for(votable, :vote_scope => 'rank')
59
+ end
60
+
61
+ def test_be_voted_as_nil_when_a_voter_has_never_voted
62
+ assert_equal voter.voted_as_when_voting_on(votable), nil
63
+ end
64
+
65
+ def test_be_voted_as_nil_when_a_voter_has_never_voted_under_the_scope
66
+ votable.vote_by :voter => voter, :vote => false, :vote_scope => 'rank'
67
+ assert_equal voter.voted_as_when_voting_on(votable), nil
68
+ end
69
+
70
+ def test_return_true_if_voter_has_voted_true
71
+ votable.vote_by(:voter => voter)
72
+ assert voter.voted_up_on?(votable)
73
+ end
74
+
75
+ def test_return_false_if_voter_has_not_voted_true
76
+ votable.vote_by(:voter => voter, :vote => false)
77
+ assert !voter.voted_up_on?(votable)
78
+ end
79
+
80
+ def test_return_true_if_the_voter_has_voted_false
81
+ votable.vote_by(:voter => voter, :vote => false)
82
+ assert voter.voted_down_on?(votable)
83
+ end
84
+
85
+ def test_return_false_if_the_voter_has_not_voted_false
86
+ votable.vote_by(:voter => voter, :vote => true)
87
+ assert !voter.voted_down_on?(votable)
88
+ end
89
+
90
+ def test_provide_reserve_functionality_voter_can_vote_on_votable
91
+ voter.vote(:votable => votable, :vote => 'bad')
92
+ assert !voter.voted_as_when_voting_on(votable)
93
+ end
94
+
95
+ def test_allow_the_voter_to_vote_up_a_model
96
+ voter.vote_up_for(votable)
97
+ assert_equal votable.get_up_votes.first.voter, voter
98
+ assert_equal votable.votes_for.up.first.voter, voter
99
+ end
100
+
101
+ def test_allow_the_voter_to_vote_down_a_model
102
+ voter.vote_down_for(votable)
103
+ assert_equal votable.get_down_votes.first.voter, voter
104
+ assert_equal votable.votes_for.down.first.voter, voter
105
+ end
106
+
107
+ def test_allow_the_voter_to_unvote_a_model
108
+ voter.vote_up_for(votable)
109
+ voter.unvote_for(votable)
110
+ assert_equal votable.find_votes_for.size, 0
111
+ assert_equal votable.votes_for.count, 0
112
+ end
113
+
114
+ def test_get_all_of_the_voters_votes
115
+ voter.vote_up_for(votable)
116
+ assert_equal voter.find_votes.size, 1
117
+ assert_equal voter.votes.up.count, 1
118
+ end
119
+
120
+ def test_get_all_of_the_voters_up_votes
121
+ voter.vote_up_for(votable)
122
+ assert_equal voter.find_up_votes.size, 1
123
+ assert_equal voter.votes.up.count, 1
124
+ end
125
+
126
+ def test_get_all_of_the_voters_down_votes
127
+ voter.vote_down_for(votable)
128
+ assert_equal voter.find_down_votes.size, 1
129
+ assert_equal voter.votes.down.count, 1
130
+ end
131
+
132
+ def test_get_all_of_the_votes_otes_for_a_class
133
+ votable.vote_by(:voter => voter)
134
+ votables(:votable2).vote_by(:voter => voter, :vote => false)
135
+ assert_equal voter.find_votes_for_class(votable_klass).size, 2
136
+ assert_equal voter.votes.for_type(votable_klass).count, 2
137
+ end
138
+
139
+ def test_get_all_of_the_voters_up_votes_for_a_class
140
+ votable.vote_by(:voter => voter)
141
+ votables(:votable2).vote_by( :voter => voter, :vote => false)
142
+ assert_equal voter.find_up_votes_for_class(votable_klass).size, 1
143
+ assert_equal voter.votes.up.for_type(votable_klass).count, 1
144
+ end
145
+
146
+ def test_get_all_of_the_voters_down_votes_for_a_class
147
+ votable.vote_by(:voter => voter)
148
+ votables(:votable2).vote_by( :voter => voter, :vote => false)
149
+ assert_equal voter.find_down_votes_for_class(votable_klass).size, 1
150
+ assert_equal voter.votes.down.for_type(votable_klass).count, 1
151
+ end
152
+
153
+ def test_be_contained_to_instances
154
+ voter.vote(:votable => votable, :vote => false)
155
+ voters(:voter2).vote(:votable => votable)
156
+
157
+ assert !voter.voted_as_when_voting_on(votable)
158
+ end
159
+
160
+ # describe '#find_voted_items
161
+
162
+ def test_returns_objects_that_a_user_has_upvoted_for
163
+ votable.vote_by(:voter => voter)
164
+ votables(:votable2).vote_by(:voter => voters(:voter2))
165
+ assert voter.find_voted_items.include? votable
166
+ assert_equal voter.find_voted_items.size, 1
167
+ end
168
+
169
+ def test_returns_objects_that_a_user_has_upvoted_for_using_scope
170
+ votable.vote_by(:voter => voter, :vote_scope => 'rank')
171
+ votables(:votable2).vote_by(:voter => voters(:voter2), :vote_scope => 'rank')
172
+ assert voter.find_voted_items(:vote_scope => 'rank').include? votable
173
+ assert_equal voter.find_voted_items(:vote_scope => 'rank').size, 1
174
+ end
175
+
176
+ def test_returns_objects_that_a_user_has_downvoted_for
177
+ votable.vote_down(voter)
178
+ votables(:votable2).vote_down(voters(:voter2))
179
+ assert voter.find_voted_items.include? votable
180
+ assert_equal voter.find_voted_items.size, 1
181
+ end
182
+
183
+ def test_returns_objects_that_a_user_has_downvoted_for_using_scope
184
+ votable.vote_down voter, :vote_scope => 'rank'
185
+ votables(:votable2).vote_down(voters(:voter2), :vote_scope => 'rank')
186
+ assert voter.find_voted_items(:vote_scope => 'rank').include? votable
187
+ assert_equal voter.find_voted_items(:vote_scope => 'rank').size, 1
188
+ end
189
+
190
+ # describe '#find_up_voted_items
191
+ def test_returns_objects_that_a_user_has_upvoted_for
192
+ votable.vote_by(:voter => voter)
193
+ votables(:votable2).vote_by :voter => voters(:voter2)
194
+ assert voter.find_up_voted_items.include? votable
195
+ assert_equal voter.find_up_voted_items.size, 1
196
+ assert voter.find_liked_items.include? votable
197
+ assert_equal voter.find_liked_items.size, 1
198
+ end
199
+
200
+ def test_returns_objects_that_a_user_has_upvoted_for_using_scope
201
+ votable.vote_by(:voter => voter, :vote_scope => 'rank')
202
+ votables(:votable2).vote_by(:voter => voters(:voter2), :vote_scope => 'rank')
203
+ assert voter.find_up_voted_items(:vote_scope => 'rank').include? votable
204
+ assert_equal voter.find_up_voted_items(:vote_scope => 'rank').size, 1
205
+ end
206
+
207
+ def test_does_not_return_objects_that_a_user_has_downvoted_for
208
+ votable.vote_down voter
209
+ assert_equal voter.find_up_voted_items.size, 0
210
+ end
211
+
212
+ def test_does_not_return_objects_that_a_user_has_downvoted_for_using_scope
213
+ votable.vote_down voter, :vote_scope => 'rank'
214
+ assert_equal voter.find_up_voted_items(:vote_scope => 'rank').size, 0
215
+ end
216
+
217
+ # describe '#find_down_voted_items
218
+
219
+ def test_does_not_return_objects_that_a_user_has_upvoted_for
220
+ votable.vote_by :voter => voter
221
+ assert_equal voter.find_down_voted_items.size, 0
222
+ end
223
+
224
+ def test_does_not_return_objects_that_a_user_has_upvoted_for_using_scope
225
+ votable.vote_by :voter => voter, :vote_scope => 'rank'
226
+ assert_equal voter.find_down_voted_items(:vote_scope => 'rank').size, 0
227
+ end
228
+
229
+ def test_returns_objects_that_a_user_has_downvoted_for
230
+ votable.vote_down voter
231
+ votables(:votable2).vote_down voters(:voter2)
232
+ assert voter.find_down_voted_items.include? votable
233
+ assert_equal voter.find_down_voted_items.size, 1
234
+ assert voter.find_disliked_items.include? votable
235
+ assert_equal voter.find_disliked_items.size, 1
236
+ end
237
+
238
+ def test_returns_objects_that_a_user_has_downvoted_for_using_scope
239
+ votable.vote_down voter, :vote_scope => 'rank'
240
+ votables(:votable2).vote_down voters(:voter2), :vote_scope => 'rank'
241
+ assert voter.find_down_voted_items(:vote_scope => 'rank').include? votable
242
+ assert_equal voter.find_down_voted_items(:vote_scope => 'rank').size, 1
243
+ end
244
+
245
+ # describe '#get_voted
246
+ def get_voted
247
+ voter.get_voted(votable.class)
248
+ end
249
+
250
+ def test_returns_objects_of_a_class_that_a_voter_has_voted_for
251
+ votable.vote_by :voter => voter
252
+ votables(:votable2).vote_down voter
253
+ assert get_voted.include? votable
254
+ assert get_voted.include? votables(:votable2)
255
+ assert_equal get_voted.size, 2
256
+ end
257
+
258
+ def test_does_not_return_objects_of_a_class_that_a_voter_has_voted_for
259
+ votable.vote_by :voter => voters(:voter2)
260
+ votables(:votable2).vote_by :voter => voters(:voter2)
261
+ assert_equal get_voted.size, 0
262
+ end
263
+
264
+ # describe '#get_up_voted
265
+
266
+ def get_up_voted
267
+ voter.get_up_voted(votable.class)
268
+ end
269
+
270
+ def test_returns_up_voted_items_that_a_voter_has_voted_for
271
+ votable.vote_by :voter => voter
272
+ assert get_up_voted.include? votable
273
+ assert_equal get_up_voted.size, 1
274
+ end
275
+
276
+ def test_does_not_return_down_voted_items_a_voter_has_voted_for
277
+ votable.vote_down voter
278
+ assert_equal get_up_voted.size, 0
279
+ end
280
+
281
+ # describe '#get_down_voted
282
+ def get_down_voted
283
+ voter.get_down_voted(votable.class)
284
+ end
285
+
286
+ def test_does_not_return_up_voted_items_that_a_voter_has_voted_for
287
+ votable.vote_by :voter => voter
288
+ assert_equal get_down_voted.size, 0
289
+ end
290
+
291
+ def test_returns_down_voted_items_a_voter_has_voted_for
292
+ votable.vote_down voter
293
+ assert get_down_voted.include? votable
294
+ assert_equal get_down_voted.size, 1
295
+ end
296
+ end
metadata ADDED
@@ -0,0 +1,141 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: test_redmine_vz
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.24
5
+ platform: ruby
6
+ authors:
7
+ - Redmine
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-01-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: liquid
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "<"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.6.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "<"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.6.4
27
+ description: Common libraries for RedmineCRM plugins for Redmine. Requered Redmine
28
+ from http://redmine.org
29
+ email:
30
+ - support@redminecrm.com
31
+ executables: []
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - ".gitignore"
36
+ - Gemfile
37
+ - README.md
38
+ - Rakefile
39
+ - config/currency_iso.json
40
+ - doc/CHANGELOG
41
+ - doc/LICENSE.txt
42
+ - lib/redmine_crm.rb
43
+ - lib/redmine_crm/currency.rb
44
+ - lib/redmine_crm/currency/formatting.rb
45
+ - lib/redmine_crm/currency/heuristics.rb
46
+ - lib/redmine_crm/currency/loader.rb
47
+ - lib/redmine_crm/helpers/tags_helper.rb
48
+ - lib/redmine_crm/helpers/vote_helper.rb
49
+ - lib/redmine_crm/liquid/drops/issues_drop.rb
50
+ - lib/redmine_crm/liquid/drops/news_drop.rb
51
+ - lib/redmine_crm/liquid/drops/projects_drop.rb
52
+ - lib/redmine_crm/liquid/drops/users_drop.rb
53
+ - lib/redmine_crm/liquid/filters.rb
54
+ - lib/redmine_crm/money_helper.rb
55
+ - lib/redmine_crm/rcrm_acts_as_taggable.rb
56
+ - lib/redmine_crm/rcrm_acts_as_viewed.rb
57
+ - lib/redmine_crm/rcrm_acts_as_votable.rb
58
+ - lib/redmine_crm/rcrm_acts_as_voter.rb
59
+ - lib/redmine_crm/tag.rb
60
+ - lib/redmine_crm/tag_list.rb
61
+ - lib/redmine_crm/tagging.rb
62
+ - lib/redmine_crm/version.rb
63
+ - lib/redmine_crm/votable.rb
64
+ - lib/redmine_crm/vote.rb
65
+ - lib/redmine_crm/voter.rb
66
+ - redmine_crm.gemspec
67
+ - test/acts_as_taggable_test.rb
68
+ - test/currency_test.rb
69
+ - test/database.yml
70
+ - test/fixtures/issue.rb
71
+ - test/fixtures/issues.yml
72
+ - test/fixtures/taggings.yml
73
+ - test/fixtures/tags.yml
74
+ - test/fixtures/user.rb
75
+ - test/fixtures/users.yml
76
+ - test/fixtures/votable_caches.yml
77
+ - test/fixtures/votables.yml
78
+ - test/fixtures/vote_classes.rb
79
+ - test/fixtures/voters.yml
80
+ - test/liquid_test.rb
81
+ - test/money_helper_test.rb
82
+ - test/schema.rb
83
+ - test/tag_test.rb
84
+ - test/tagging_test.rb
85
+ - test/tags_helper_test.rb
86
+ - test/test_helper.rb
87
+ - test/viewed_test.rb
88
+ - test/votable_model_test.rb
89
+ - test/votable_test.rb
90
+ - test/vote_helper_test.rb
91
+ - test/voter_model_test.rb
92
+ homepage: ''
93
+ licenses:
94
+ - GPL2
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubyforge_project:
112
+ rubygems_version: 2.4.4
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: Common libraries for RedmineCRM plugins for Redmine
116
+ test_files:
117
+ - test/acts_as_taggable_test.rb
118
+ - test/currency_test.rb
119
+ - test/database.yml
120
+ - test/fixtures/issue.rb
121
+ - test/fixtures/issues.yml
122
+ - test/fixtures/taggings.yml
123
+ - test/fixtures/tags.yml
124
+ - test/fixtures/user.rb
125
+ - test/fixtures/users.yml
126
+ - test/fixtures/votable_caches.yml
127
+ - test/fixtures/votables.yml
128
+ - test/fixtures/vote_classes.rb
129
+ - test/fixtures/voters.yml
130
+ - test/liquid_test.rb
131
+ - test/money_helper_test.rb
132
+ - test/schema.rb
133
+ - test/tag_test.rb
134
+ - test/tagging_test.rb
135
+ - test/tags_helper_test.rb
136
+ - test/test_helper.rb
137
+ - test/viewed_test.rb
138
+ - test/votable_model_test.rb
139
+ - test/votable_test.rb
140
+ - test/vote_helper_test.rb
141
+ - test/voter_model_test.rb