Skip to content

Commit db85fc5

Browse files
committed
Update tests to consider the files metric
1 parent fd91841 commit db85fc5

File tree

3 files changed

+46
-69
lines changed

3 files changed

+46
-69
lines changed

test/dummy/Gemfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
source 'https://rubygems.org'
22
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
33

4-
ruby '2.6.3'
4+
ruby '2.6.8'
55

66
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
77
gem 'rails', '~> 6.0.3', '>= 6.0.3.3'
@@ -20,6 +20,7 @@ gem 'jbuilder', '~> 2.7'
2020

2121
# Use Active Storage variant
2222
# gem 'image_processing', '~> 1.2'
23+
gem 'rails_stats', path: '../../../rails_stats'
2324

2425
# Reduces boot times through caching; required in config/boot.rb
2526
gem 'bootsnap', '>= 1.4.2', require: false

test/lib/rails_stats/code_statistics_test.rb

Lines changed: 31 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22

33
require "test_helper"
44

5+
Minitest::Test.make_my_diffs_pretty!
6+
57
describe RailsStats::CodeStatistics do
68
describe "#to_s" do
7-
TABLE = <<~EOS
9+
TABLE = <<~EOS
810
+-----------------------|------------|----------------+
911
| Name | Total Deps | 1st Level Deps |
1012
+-----------------------|------------|----------------+
1113
| simplecov-console | 7 | 3 |
12-
| codecov | 4 | 1 |
14+
| codecov | 5 | 2 |
1315
| rails_stats | 4 | 2 |
1416
| simplecov | 3 | 3 |
1517
| minitest-around | 1 | 1 |
@@ -18,66 +20,33 @@
1820
| minitest | 0 | 0 |
1921
| minitest-spec-context | 0 | 0 |
2022
+-----------------------|------------|----------------+
21-
\n Declared Gems 9 \n Total Gems 17 \n Unpinned Versions 8 \n Github Refs 0 \n \n+----------------------+---------+---------+---------+---------+-----+-------+
22-
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
23-
+----------------------+---------+---------+---------+---------+-----+-------+
24-
| Channels | 8 | 8 | 2 | 0 | 0 | 0 |
25-
| Configuration | 417 | 111 | 1 | 0 | 0 | 0 |
26-
| Controllers | 7 | 6 | 1 | 1 | 1 | 4 |
27-
| Helpers | 3 | 3 | 0 | 0 | 0 | 0 |
28-
| Javascripts | 27 | 7 | 0 | 0 | 0 | 0 |
29-
| Jobs | 7 | 2 | 1 | 0 | 0 | 0 |
30-
| Libraries | 1 | 1 | 0 | 0 | 0 | 0 |
31-
| Mailers | 4 | 4 | 1 | 0 | 0 | 0 |
32-
| Model Tests | 5 | 4 | 2 | 0 | 0 | 0 |
33-
| Models | 3 | 3 | 1 | 0 | 0 | 0 |
34-
| Spec Support | 1 | 1 | 0 | 0 | 0 | 0 |
35-
| Test Support | 1 | 1 | 0 | 0 | 0 | 0 |
36-
+----------------------+---------+---------+---------+---------+-----+-------+
37-
| Code | 477 | 145 | 7 | 1 | 0 | 143 |
38-
| Tests | 7 | 6 | 2 | 0 | 0 | 0 |
39-
| Total | 484 | 151 | 9 | 1 | 0 | 149 |
40-
+----------------------+---------+---------+---------+---------+-----+-------+
41-
Code LOC: 145 Test LOC: 6 Code to Test Ratio: 1:0.0
42-
43-
EOS
44-
45-
TABLE_RUBY_2_4 = <<~EOS
46-
+-----------------------|------------|----------------+
47-
| Name | Total Deps | 1st Level Deps |
48-
+-----------------------|------------|----------------+
49-
| simplecov-console | 6 | 3 |
50-
| rails_stats | 4 | 2 |
51-
| codecov | 3 | 1 |
52-
| simplecov | 2 | 2 |
53-
| minitest-around | 1 | 1 |
54-
| bundler | 0 | 0 |
55-
| byebug | 0 | 0 |
56-
| minitest | 0 | 0 |
57-
| minitest-spec-context | 0 | 0 |
58-
+-----------------------|------------|----------------+
59-
\n Declared Gems 9 \n Total Gems 16 \n Unpinned Versions 8 \n Github Refs 0 \n \n+----------------------+---------+---------+---------+---------+-----+-------+
60-
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
61-
+----------------------+---------+---------+---------+---------+-----+-------+
62-
| Channels | 8 | 8 | 2 | 0 | 0 | 0 |
63-
| Configuration | 417 | 111 | 1 | 0 | 0 | 0 |
64-
| Controllers | 7 | 6 | 1 | 1 | 1 | 4 |
65-
| Helpers | 3 | 3 | 0 | 0 | 0 | 0 |
66-
| Javascripts | 27 | 7 | 0 | 0 | 0 | 0 |
67-
| Jobs | 7 | 2 | 1 | 0 | 0 | 0 |
68-
| Libraries | 1 | 1 | 0 | 0 | 0 | 0 |
69-
| Mailers | 4 | 4 | 1 | 0 | 0 | 0 |
70-
| Model Tests | 5 | 4 | 2 | 0 | 0 | 0 |
71-
| Models | 3 | 3 | 1 | 0 | 0 | 0 |
72-
| Spec Support | 1 | 1 | 0 | 0 | 0 | 0 |
73-
| Test Support | 1 | 1 | 0 | 0 | 0 | 0 |
74-
+----------------------+---------+---------+---------+---------+-----+-------+
75-
| Code | 477 | 145 | 7 | 1 | 0 | 143 |
76-
| Tests | 7 | 6 | 2 | 0 | 0 | 0 |
77-
| Total | 484 | 151 | 9 | 1 | 0 | 149 |
78-
+----------------------+---------+---------+---------+---------+-----+-------+
79-
Code LOC: 145 Test LOC: 6 Code to Test Ratio: 1:0.0
8023
24+
Declared Gems 9
25+
Total Gems 18
26+
Unpinned Versions 8
27+
Github Refs 0
28+
29+
+----------------------+---------+---------+---------+---------+---------+-----+-------+
30+
| Name | Files | Lines | LOC | Classes | Methods | M/C | LOC/M |
31+
+----------------------+---------+---------+---------+---------+---------+-----+-------+
32+
| Channels | 2 | 8 | 8 | 2 | 0 | 0 | 0 |
33+
| Configuration | 19 | 417 | 111 | 1 | 0 | 0 | 0 |
34+
| Controllers | 1 | 7 | 6 | 1 | 1 | 1 | 4 |
35+
| Helpers | 1 | 3 | 3 | 0 | 0 | 0 | 0 |
36+
| Javascripts | 3 | 27 | 7 | 0 | 0 | 0 | 0 |
37+
| Jobs | 1 | 7 | 2 | 1 | 0 | 0 | 0 |
38+
| Libraries | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
39+
| Mailers | 1 | 4 | 4 | 1 | 0 | 0 | 0 |
40+
| Model Tests | 2 | 5 | 4 | 2 | 0 | 0 | 0 |
41+
| Models | 1 | 3 | 3 | 1 | 0 | 0 | 0 |
42+
| Spec Support | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
43+
| Test Support | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
44+
+----------------------+---------+---------+---------+---------+---------+-----+-------+
45+
| Code | 30 | 477 | 145 | 7 | 1 | 0 | 143 |
46+
| Tests | 4 | 7 | 6 | 2 | 0 | 0 | 0 |
47+
| Total | 34 | 484 | 151 | 9 | 1 | 0 | 149 |
48+
+----------------------+---------+---------+---------+---------+---------+-----+-------+
49+
Code LOC: 145 Test LOC: 6 Code to Test Ratio: 1:0.0 Files: 34
8150
EOS
8251

8352
it "outputs useful stats for a Rails project" do
@@ -87,13 +56,7 @@
8756
RailsStats::CodeStatistics.new(root_directory).to_s
8857
end
8958

90-
expectation = if RUBY_VERSION < "2.5.0"
91-
TABLE_RUBY_2_4
92-
else
93-
TABLE
94-
end
95-
96-
assert_equal expectation, out
59+
assert_equal TABLE, out
9760
end
9861
end
9962
end

test/lib/rails_stats/json_formatter_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
JSON_STRING = <<~EOS
88
[{
99
"name": "Libraries",
10+
"files": "1",
1011
"lines": "1",
1112
"loc": "1",
1213
"classes": "0",
@@ -15,6 +16,7 @@
1516
"loc_over_m": "0"
1617
}, {
1718
"name": "Mailers",
19+
"files": "1",
1820
"lines": "4",
1921
"loc": "4",
2022
"classes": "1",
@@ -23,6 +25,7 @@
2325
"loc_over_m": "0"
2426
}, {
2527
"name": "Model Tests",
28+
"files": "2",
2629
"lines": "5",
2730
"loc": "4",
2831
"classes": "2",
@@ -31,6 +34,7 @@
3134
"loc_over_m": "0"
3235
}, {
3336
"name": "Models",
37+
"files": "1",
3438
"lines": "3",
3539
"loc": "3",
3640
"classes": "1",
@@ -39,6 +43,7 @@
3943
"loc_over_m": "0"
4044
}, {
4145
"name": "Javascripts",
46+
"files": "3",
4247
"lines": "27",
4348
"loc": "7",
4449
"classes": "0",
@@ -47,6 +52,7 @@
4752
"loc_over_m": "0"
4853
}, {
4954
"name": "Jobs",
55+
"files": "1",
5056
"lines": "7",
5157
"loc": "2",
5258
"classes": "1",
@@ -55,6 +61,7 @@
5561
"loc_over_m": "0"
5662
}, {
5763
"name": "Controllers",
64+
"files": "1",
5865
"lines": "7",
5966
"loc": "6",
6067
"classes": "1",
@@ -63,6 +70,7 @@
6370
"loc_over_m": "4"
6471
}, {
6572
"name": "Helpers",
73+
"files": "1",
6674
"lines": "3",
6775
"loc": "3",
6876
"classes": "0",
@@ -71,6 +79,7 @@
7179
"loc_over_m": "0"
7280
}, {
7381
"name": "Channels",
82+
"files": "2",
7483
"lines": "8",
7584
"loc": "8",
7685
"classes": "2",
@@ -79,6 +88,7 @@
7988
"loc_over_m": "0"
8089
}, {
8190
"name": "Configuration",
91+
"files": "19",
8292
"lines": "417",
8393
"loc": "111",
8494
"classes": "1",
@@ -87,6 +97,7 @@
8797
"loc_over_m": "0"
8898
}, {
8999
"name": "Spec Support",
100+
"files": "1",
90101
"lines": "1",
91102
"loc": "1",
92103
"classes": "0",
@@ -95,6 +106,7 @@
95106
"loc_over_m": "0"
96107
}, {
97108
"name": "Test Support",
109+
"files": "1",
98110
"lines": "1",
99111
"loc": "1",
100112
"classes": "0",
@@ -103,6 +115,7 @@
103115
"loc_over_m": "0"
104116
}, {
105117
"name": "Total",
118+
"files": "34",
106119
"lines": "484",
107120
"loc": "151",
108121
"classes": "9",

0 commit comments

Comments
 (0)