Skip to content

Commit 0f086e9

Browse files
committed
Add coverage for JSONFormatter
1 parent 714de7a commit 0f086e9

File tree

3 files changed

+96
-1
lines changed

3 files changed

+96
-1
lines changed

rails_stats.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
2424
spec.add_development_dependency "codecov"
2525
spec.add_development_dependency "minitest"
2626
spec.add_development_dependency "minitest-around"
27+
spec.add_development_dependency "minitest-spec-context"
2728
spec.add_development_dependency "simplecov"
2829
spec.add_development_dependency "simplecov-console"
2930
end
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# frozen_string_literal: true
2+
3+
require "test_helper"
4+
5+
describe RailsStats::JSONFormatter do
6+
describe "#result" do
7+
JSON_STRING = <<~EOS
8+
[{
9+
"name": "Mailers",
10+
"lines": "4",
11+
"loc": "4",
12+
"classes": "1",
13+
"methods": "0",
14+
"m_over_c": "0",
15+
"loc_over_m": "0"
16+
}, {
17+
"name": "Models",
18+
"lines": "3",
19+
"loc": "3",
20+
"classes": "1",
21+
"methods": "0",
22+
"m_over_c": "0",
23+
"loc_over_m": "0"
24+
}, {
25+
"name": "Javascripts",
26+
"lines": "27",
27+
"loc": "7",
28+
"classes": "0",
29+
"methods": "0",
30+
"m_over_c": "0",
31+
"loc_over_m": "0"
32+
}, {
33+
"name": "Jobs",
34+
"lines": "7",
35+
"loc": "2",
36+
"classes": "1",
37+
"methods": "0",
38+
"m_over_c": "0",
39+
"loc_over_m": "0"
40+
}, {
41+
"name": "Controllers",
42+
"lines": "7",
43+
"loc": "6",
44+
"classes": "1",
45+
"methods": "1",
46+
"m_over_c": "1",
47+
"loc_over_m": "4"
48+
}, {
49+
"name": "Helpers",
50+
"lines": "3",
51+
"loc": "3",
52+
"classes": "0",
53+
"methods": "0",
54+
"m_over_c": "0",
55+
"loc_over_m": "0"
56+
}, {
57+
"name": "Channels",
58+
"lines": "8",
59+
"loc": "8",
60+
"classes": "2",
61+
"methods": "0",
62+
"m_over_c": "0",
63+
"loc_over_m": "0"
64+
}, {
65+
"name": "Configuration",
66+
"lines": "417",
67+
"loc": "111",
68+
"classes": "1",
69+
"methods": "0",
70+
"m_over_c": "0",
71+
"loc_over_m": "0"
72+
}, {
73+
"name": "Total",
74+
"lines": "476",
75+
"loc": "144",
76+
"classes": "7",
77+
"methods": "1",
78+
"m_over_c": "0",
79+
"loc_over_m": "142",
80+
"code_to_test_ratio": "0.0",
81+
"total": true
82+
}]
83+
EOS
84+
85+
it "outputs useful stats for a Rails project" do
86+
root_directory = File.absolute_path("./test/dummy")
87+
88+
calculator = RailsStats::StatsCalculator.new(root_directory)
89+
formatter = RailsStats::JSONFormatter.new(calculator)
90+
91+
assert_equal JSON.parse(JSON_STRING), formatter.result
92+
end
93+
end
94+
end

test/test_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@
2323
require "minitest/autorun"
2424
require "minitest/pride"
2525
require "minitest/around/spec"
26-
26+
require "minitest-spec-context"
2727
require "rails_stats/all"

0 commit comments

Comments
 (0)