redmine_crm 0.0.36 → 0.0.37
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/.gitignore +2 -0
- data/README.md +160 -33
- data/Rakefile +3 -12
- data/bitbucket-pipelines.yml +20 -6
- data/doc/CHANGELOG +5 -0
- data/lib/redmine_crm.rb +5 -0
- data/lib/redmine_crm/acts_as_draftable/draft.rb +40 -0
- data/lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb +154 -0
- data/lib/redmine_crm/acts_as_taggable/rcrm_acts_as_taggable.rb +1 -1
- data/lib/redmine_crm/acts_as_viewed/rcrm_acts_as_viewed.rb +0 -1
- data/lib/redmine_crm/acts_as_votable/votable.rb +6 -10
- data/lib/redmine_crm/helpers/form_tag_helper.rb +31 -0
- data/lib/redmine_crm/money_helper.rb +0 -2
- data/lib/redmine_crm/version.rb +1 -1
- data/redmine_crm.gemspec +6 -1
- data/test/acts_as_draftable/draft_test.rb +29 -0
- data/test/acts_as_draftable/rcrm_acts_as_draftable_test.rb +185 -0
- data/test/acts_as_taggable/rcrm_acts_as_taggable_test.rb +9 -11
- data/test/acts_as_taggable/tag_list_test.rb +25 -29
- data/test/acts_as_taggable/tag_test.rb +58 -51
- data/test/acts_as_votable/rcrm_acts_as_votable_test.rb +6 -4
- data/test/acts_as_votable/rcrm_acts_as_voter_test.rb +7 -5
- data/test/acts_as_votable/votable_test.rb +1 -1
- data/test/database.yml +14 -18
- data/test/models/issue.rb +14 -0
- data/test/{fixtures → models}/news.rb +0 -0
- data/test/{fixtures → models}/project.rb +0 -0
- data/test/{fixtures → models}/user.rb +0 -0
- data/test/{fixtures → models}/vote_classes.rb +0 -20
- data/test/schema.rb +9 -1
- data/test/test_helper.rb +5 -57
- data/vendor/assets/javascripts/select2_helpers.js +39 -0
- metadata +75 -14
- data/test/fixtures/issue.rb +0 -22
- data/test/liquid/drops/liquid_test.rb +0 -52
@@ -1,12 +1,14 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
|
3
3
|
class RcrmActsAsVotableTest < ActiveSupport::TestCase
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
class NotVotable < ActiveRecord::Base; end
|
6
|
+
def test_that_votable_returns_false_unless_included
|
7
|
+
assert_equal NotVotable.votable?, false
|
6
8
|
end
|
7
9
|
|
8
|
-
def
|
9
|
-
|
10
|
+
def test_that_votable_returns_true_if_included
|
11
|
+
assert_equal Votable.votable?, true
|
10
12
|
end
|
11
13
|
|
12
14
|
def test_behaves_like_votable_model
|
@@ -1,12 +1,14 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
|
3
3
|
class RcrmActsAsVoterTest < ActiveSupport::TestCase
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
class NotVoter < ActiveRecord::Base; end
|
6
|
+
def test_that_voter_returns_false_unless_included
|
7
|
+
assert_equal NotVoter.voter?, false
|
6
8
|
end
|
7
9
|
|
8
|
-
def
|
9
|
-
|
10
|
-
|
10
|
+
def test_that_voter_returns_true_if_included
|
11
|
+
assert_equal Voter.voter?, true
|
12
|
+
assert_equal VotableVoter.voter?, true
|
11
13
|
end
|
12
14
|
end
|
@@ -111,7 +111,7 @@ class VotableTest < ActiveSupport::TestCase
|
|
111
111
|
assert votable.vote_registered?
|
112
112
|
end
|
113
113
|
|
114
|
-
def
|
114
|
+
def test_not_count_the_vote_as_being_registered_if_that_voter_has_already_voted_and_voted_has_not_changed
|
115
115
|
votable.vote_by(:voter => voters(:voter), :vote => true)
|
116
116
|
votable.vote_by(:voter => voters(:voter), :vote => 'yes')
|
117
117
|
assert !votable.vote_registered?
|
data/test/database.yml
CHANGED
@@ -1,21 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
:
|
4
|
-
:username: root
|
5
|
-
:password: 1
|
6
|
-
:database: rails_plugin_test
|
1
|
+
sqlite:
|
2
|
+
adapter: sqlite3
|
3
|
+
database: ':memory:'
|
7
4
|
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
mysql:
|
6
|
+
adapter: mysql2
|
7
|
+
database: redmine_crm_test
|
8
|
+
username: root
|
9
|
+
password: password
|
10
|
+
host: 127.0.0.1
|
11
11
|
|
12
12
|
postgresql:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
default_env:
|
20
|
-
adapter: sqlite3
|
21
|
-
database: ':memory:'
|
13
|
+
adapter: postgresql
|
14
|
+
database: redmine_crm_test
|
15
|
+
user: postgres
|
16
|
+
password: password
|
17
|
+
host: 127.0.0.1
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative 'project'
|
2
|
+
require_relative 'user'
|
3
|
+
|
4
|
+
class Issue < ActiveRecord::Base
|
5
|
+
belongs_to :project
|
6
|
+
belongs_to :user
|
7
|
+
belongs_to :author, class_name: 'User'
|
8
|
+
|
9
|
+
rcrm_acts_as_draftable
|
10
|
+
rcrm_acts_as_taggable
|
11
|
+
rcrm_acts_as_viewed
|
12
|
+
|
13
|
+
scope :visible, lambda { where('1=1') }
|
14
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -2,10 +2,6 @@ class Voter < ActiveRecord::Base
|
|
2
2
|
rcrm_acts_as_voter
|
3
3
|
end
|
4
4
|
|
5
|
-
class NotVoter < ActiveRecord::Base
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
5
|
class Votable < ActiveRecord::Base
|
10
6
|
rcrm_acts_as_votable
|
11
7
|
validates_presence_of :name
|
@@ -31,23 +27,7 @@ class VotableChildOfStiNotVotable < StiNotVotable
|
|
31
27
|
rcrm_acts_as_votable
|
32
28
|
end
|
33
29
|
|
34
|
-
class NotVotable < ActiveRecord::Base
|
35
|
-
end
|
36
|
-
|
37
30
|
class VotableCache < ActiveRecord::Base
|
38
31
|
rcrm_acts_as_votable
|
39
32
|
validates_presence_of :name
|
40
33
|
end
|
41
|
-
|
42
|
-
class ABoringClass
|
43
|
-
def self.hw
|
44
|
-
'hello world'
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# def clean_database
|
49
|
-
# models = [ActsAsVotable::Vote, Voter, NotVoter, Votable, NotVotable, VotableCache]
|
50
|
-
# models.each do |model|
|
51
|
-
# ActiveRecord::Base.connection.execute "DELETE FROM #{model.table_name}"
|
52
|
-
# end
|
53
|
-
# end
|
data/test/schema.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
ActiveRecord::Schema.define :
|
1
|
+
ActiveRecord::Schema.define version: 0 do
|
2
|
+
|
3
|
+
create_table :drafts, force: true do |t|
|
4
|
+
t.string :target_type
|
5
|
+
t.references :user
|
6
|
+
t.references :parent, polymorphic: true
|
7
|
+
t.binary :data
|
8
|
+
t.datetime :updated_at
|
9
|
+
end
|
2
10
|
|
3
11
|
create_table "tags", :force => true do |t|
|
4
12
|
t.column "name", :string
|
data/test/test_helper.rb
CHANGED
@@ -1,40 +1,13 @@
|
|
1
|
+
require 'rails/all'
|
2
|
+
require 'redmine_crm'
|
1
3
|
require 'minitest/autorun'
|
2
|
-
require 'byebug'
|
3
|
-
# require 'test/unit'
|
4
|
-
|
5
|
-
begin
|
6
|
-
require File.dirname(__FILE__) + '/../../../../config/environment'
|
7
|
-
rescue LoadError
|
8
|
-
require 'rubygems'
|
9
|
-
gem 'activerecord'
|
10
|
-
gem 'actionpack'
|
11
|
-
require 'active_record'
|
12
|
-
end
|
13
|
-
require "redmine_crm"
|
14
|
-
require "active_record/fixtures"
|
15
|
-
|
16
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_taggable/tag'
|
17
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_taggable/tag_list'
|
18
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_taggable/tagging'
|
19
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_taggable/rcrm_acts_as_taggable'
|
20
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/helpers/tags_helper'
|
21
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_votable/rcrm_acts_as_votable'
|
22
|
-
require File.dirname(__FILE__) + '/../lib/redmine_crm/acts_as_votable/rcrm_acts_as_voter'
|
23
|
-
|
24
|
-
# require_dependency File.dirname(__FILE__) + '/../lib/redmine_crm/tags_helper'
|
25
4
|
|
26
5
|
ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/debug.log')
|
27
|
-
ActiveRecord::Base.configurations = YAML
|
28
|
-
ActiveRecord::Base.establish_connection(
|
6
|
+
ActiveRecord::Base.configurations = YAML.load_file(File.dirname(__FILE__) + '/database.yml')
|
7
|
+
ActiveRecord::Base.establish_connection(ENV['DB'].try(:to_sym) || :sqlite)
|
29
8
|
|
30
9
|
load(File.dirname(__FILE__) + '/schema.rb')
|
31
|
-
|
32
|
-
load(File.dirname(__FILE__) + '/fixtures/issue.rb')
|
33
|
-
load(File.dirname(__FILE__) + '/fixtures/vote_classes.rb')
|
34
|
-
load(File.dirname(__FILE__) + '/fixtures/news.rb')
|
35
|
-
load(File.dirname(__FILE__) + '/fixtures/project.rb')
|
36
|
-
|
37
|
-
# Dir["/fixtures/*.rb"].each{|file| load file}
|
10
|
+
Dir.glob(File.expand_path('../models/*.rb', __FILE__)).each { |f| require f }
|
38
11
|
|
39
12
|
class ActiveSupport::TestCase #:nodoc:
|
40
13
|
include ActiveRecord::TestFixtures
|
@@ -76,31 +49,6 @@ class ActiveSupport::TestCase #:nodoc:
|
|
76
49
|
end
|
77
50
|
end
|
78
51
|
|
79
|
-
# def assert_queries(num = 1)
|
80
|
-
# $query_count = 0
|
81
|
-
# yield
|
82
|
-
# ensure
|
83
|
-
# assert_equal num, $query_count, "#{$query_count} instead of #{num} queries were executed."
|
84
|
-
# end
|
85
|
-
|
86
|
-
# def assert_queries(num = 1, options = {})
|
87
|
-
# ignore_none = options.fetch(:ignore_none) { num == :any }
|
88
|
-
# SQLCounter.clear_log
|
89
|
-
# yield
|
90
|
-
# ensure
|
91
|
-
# the_log = ignore_none ? SQLCounter.log_all : SQLCounter.log
|
92
|
-
# if num == :any
|
93
|
-
# assert_operator the_log.size, :>=, 1, "1 or more queries expected, but none were executed."
|
94
|
-
# else
|
95
|
-
# mesg = "#{the_log.size} instead of #{num} queries were executed.#{the_log.size == 0 ? '' : "\nQueries:\n#{the_log.join("\n")}"}"
|
96
|
-
# assert_equal num, the_log.size, mesg
|
97
|
-
# end
|
98
|
-
# end
|
99
|
-
|
100
|
-
def assert_no_queries(&block)
|
101
|
-
assert_queries(0, &block)
|
102
|
-
end
|
103
|
-
|
104
52
|
# From Rails trunk
|
105
53
|
def assert_difference(expressions, difference = 1, message = nil, &block)
|
106
54
|
expression_evaluations = [expressions].flatten.collect{ |expression| lambda { eval(expression, block.binding) } }
|
@@ -0,0 +1,39 @@
|
|
1
|
+
var oldToggleFilter = window.toggleFilter;
|
2
|
+
|
3
|
+
window.toggleFilter = function (field) {
|
4
|
+
oldToggleFilter(field);
|
5
|
+
return transform_to_select2(field);
|
6
|
+
};
|
7
|
+
|
8
|
+
function formatStateWithAvatar(opt) {
|
9
|
+
return $('<span>' + opt.avatar + ' ' + opt.text + '</span>');
|
10
|
+
};
|
11
|
+
|
12
|
+
var select2Filters = {};
|
13
|
+
|
14
|
+
function transform_to_select2(field) {
|
15
|
+
field = field.replace('.', '_');
|
16
|
+
var filter = select2Filters[field];
|
17
|
+
if (filter !== undefined && $('#tr_' + field + ' .values .select2').size() == 0) {
|
18
|
+
$('#tr_' + field + ' .toggle-multiselect').hide();
|
19
|
+
$('#tr_' + field + ' .values .value').attr('multiple', 'multiple');
|
20
|
+
$('#tr_' + field + ' .values .value').select2({
|
21
|
+
ajax: {
|
22
|
+
url: filter['url'],
|
23
|
+
dataType: 'json',
|
24
|
+
delay: 250,
|
25
|
+
data: function (params) {
|
26
|
+
return {q: params.term};
|
27
|
+
},
|
28
|
+
processResults: function (data, params) {
|
29
|
+
return {results: data};
|
30
|
+
},
|
31
|
+
cache: true
|
32
|
+
},
|
33
|
+
placeholder: ' ',
|
34
|
+
minimumInputLength: filter['minimumInputLength'],
|
35
|
+
width: filter['width'],
|
36
|
+
templateResult: filter['formatState']
|
37
|
+
});
|
38
|
+
}
|
39
|
+
};
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RedmineUP
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: liquid
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -24,6 +38,48 @@ dependencies:
|
|
24
38
|
- - "<"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: 2.6.4
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: sqlite3
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mysql2
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.4.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.4.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pg
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
27
83
|
description: Common libraries for RedmineUP plugins (www.redmineup.com) for Redmine.
|
28
84
|
Requered Redmine from http://redmine.org
|
29
85
|
email:
|
@@ -41,6 +97,8 @@ files:
|
|
41
97
|
- doc/CHANGELOG
|
42
98
|
- doc/LICENSE.txt
|
43
99
|
- lib/redmine_crm.rb
|
100
|
+
- lib/redmine_crm/acts_as_draftable/draft.rb
|
101
|
+
- lib/redmine_crm/acts_as_draftable/rcrm_acts_as_draftable.rb
|
44
102
|
- lib/redmine_crm/acts_as_list/list.rb
|
45
103
|
- lib/redmine_crm/acts_as_taggable/rcrm_acts_as_taggable.rb
|
46
104
|
- lib/redmine_crm/acts_as_taggable/tag.rb
|
@@ -70,6 +128,8 @@ files:
|
|
70
128
|
- lib/redmine_crm/money_helper.rb
|
71
129
|
- lib/redmine_crm/version.rb
|
72
130
|
- redmine_crm.gemspec
|
131
|
+
- test/acts_as_draftable/draft_test.rb
|
132
|
+
- test/acts_as_draftable/rcrm_acts_as_draftable_test.rb
|
73
133
|
- test/acts_as_taggable/rcrm_acts_as_taggable_test.rb
|
74
134
|
- test/acts_as_taggable/tag_list_test.rb
|
75
135
|
- test/acts_as_taggable/tag_test.rb
|
@@ -81,28 +141,27 @@ files:
|
|
81
141
|
- test/acts_as_votable/voter_test.rb
|
82
142
|
- test/currency_test.rb
|
83
143
|
- test/database.yml
|
84
|
-
- test/fixtures/issue.rb
|
85
144
|
- test/fixtures/issues.yml
|
86
|
-
- test/fixtures/news.rb
|
87
145
|
- test/fixtures/news.yml
|
88
|
-
- test/fixtures/project.rb
|
89
146
|
- test/fixtures/projects.yml
|
90
147
|
- test/fixtures/taggings.yml
|
91
148
|
- test/fixtures/tags.yml
|
92
|
-
- test/fixtures/user.rb
|
93
149
|
- test/fixtures/users.yml
|
94
150
|
- test/fixtures/votable_caches.yml
|
95
151
|
- test/fixtures/votables.yml
|
96
|
-
- test/fixtures/vote_classes.rb
|
97
152
|
- test/fixtures/voters.yml
|
98
153
|
- test/liquid/drops/issues_drop_test.rb
|
99
|
-
- test/liquid/drops/liquid_test.rb
|
100
154
|
- test/liquid/drops/news_drop_test.rb
|
101
155
|
- test/liquid/drops/projects_drop_test.rb
|
102
156
|
- test/liquid/drops/uses_drop_test.rb
|
103
157
|
- test/liquid/filters/arrays_filter_test.rb
|
104
158
|
- test/liquid/filters/base_filter_test.rb
|
105
159
|
- test/liquid/liquid_helper.rb
|
160
|
+
- test/models/issue.rb
|
161
|
+
- test/models/news.rb
|
162
|
+
- test/models/project.rb
|
163
|
+
- test/models/user.rb
|
164
|
+
- test/models/vote_classes.rb
|
106
165
|
- test/money_helper_test.rb
|
107
166
|
- test/schema.rb
|
108
167
|
- test/tags_helper_test.rb
|
@@ -111,6 +170,7 @@ files:
|
|
111
170
|
- vendor/assets/images/vcard.png
|
112
171
|
- vendor/assets/javascripts/Chart.bundle.min.js
|
113
172
|
- vendor/assets/javascripts/select2.js
|
173
|
+
- vendor/assets/javascripts/select2_helpers.js
|
114
174
|
- vendor/assets/stylesheets/select2.css
|
115
175
|
homepage: ''
|
116
176
|
licenses:
|
@@ -137,6 +197,8 @@ signing_key:
|
|
137
197
|
specification_version: 4
|
138
198
|
summary: Common libraries for RedmineUP plugins for Redmine
|
139
199
|
test_files:
|
200
|
+
- test/acts_as_draftable/draft_test.rb
|
201
|
+
- test/acts_as_draftable/rcrm_acts_as_draftable_test.rb
|
140
202
|
- test/acts_as_taggable/rcrm_acts_as_taggable_test.rb
|
141
203
|
- test/acts_as_taggable/tag_list_test.rb
|
142
204
|
- test/acts_as_taggable/tag_test.rb
|
@@ -148,28 +210,27 @@ test_files:
|
|
148
210
|
- test/acts_as_votable/voter_test.rb
|
149
211
|
- test/currency_test.rb
|
150
212
|
- test/database.yml
|
151
|
-
- test/fixtures/issue.rb
|
152
213
|
- test/fixtures/issues.yml
|
153
|
-
- test/fixtures/news.rb
|
154
214
|
- test/fixtures/news.yml
|
155
|
-
- test/fixtures/project.rb
|
156
215
|
- test/fixtures/projects.yml
|
157
216
|
- test/fixtures/taggings.yml
|
158
217
|
- test/fixtures/tags.yml
|
159
|
-
- test/fixtures/user.rb
|
160
218
|
- test/fixtures/users.yml
|
161
219
|
- test/fixtures/votable_caches.yml
|
162
220
|
- test/fixtures/votables.yml
|
163
|
-
- test/fixtures/vote_classes.rb
|
164
221
|
- test/fixtures/voters.yml
|
165
222
|
- test/liquid/drops/issues_drop_test.rb
|
166
|
-
- test/liquid/drops/liquid_test.rb
|
167
223
|
- test/liquid/drops/news_drop_test.rb
|
168
224
|
- test/liquid/drops/projects_drop_test.rb
|
169
225
|
- test/liquid/drops/uses_drop_test.rb
|
170
226
|
- test/liquid/filters/arrays_filter_test.rb
|
171
227
|
- test/liquid/filters/base_filter_test.rb
|
172
228
|
- test/liquid/liquid_helper.rb
|
229
|
+
- test/models/issue.rb
|
230
|
+
- test/models/news.rb
|
231
|
+
- test/models/project.rb
|
232
|
+
- test/models/user.rb
|
233
|
+
- test/models/vote_classes.rb
|
173
234
|
- test/money_helper_test.rb
|
174
235
|
- test/schema.rb
|
175
236
|
- test/tags_helper_test.rb
|