@@ -33,14 +33,32 @@ def setup
33
33
tracker = Coverband ::Collectors ::RouteTracker . new ( store : store , roots : "dir" )
34
34
35
35
payload = {
36
- request : Payload . new ( "path" , "GET" )
36
+ request : Payload . new ( "path" , "GET" ) ,
37
+ status : 302 ,
38
+ location : 'https://coverband.dev/'
37
39
}
38
40
tracker . track_key ( payload )
39
41
tracker . save_report
40
42
assert_equal [ route_hash ] , tracker . logged_keys
41
43
end
42
44
43
- test "track controller routes" do
45
+ test "track redirect routes when track_redirect_routes is false" do
46
+ Coverband . configuration . track_redirect_routes = false
47
+
48
+ store = fake_store
49
+ tracker = Coverband ::Collectors ::RouteTracker . new ( store : store , roots : "dir" )
50
+
51
+ payload = {
52
+ request : Payload . new ( "path" , "GET" ) ,
53
+ status : 302 ,
54
+ location : 'https://coverband.dev/'
55
+ }
56
+ tracker . track_key ( payload )
57
+ tracker . save_report
58
+ assert_equal [ ] , tracker . logged_keys
59
+ end
60
+
61
+ test "track controller routes in Rails < 6.1" do
44
62
store = fake_store
45
63
route_hash = { controller : "some/controller" , action : "index" , url_path : nil , verb : "GET" }
46
64
store . raw_store . expects ( :hset ) . with ( tracker_key , route_hash . to_s , anything )
@@ -57,6 +75,27 @@ def setup
57
75
assert_equal [ route_hash ] , tracker . logged_keys
58
76
end
59
77
78
+ test "track controller routes in Rails >= 6.1" do
79
+ store = fake_store
80
+ route_hash = { controller : "some/controller" , action : "index" , url_path : nil , verb : "GET" }
81
+ store . raw_store . expects ( :hset ) . with ( tracker_key , route_hash . to_s , anything )
82
+ tracker = Coverband ::Collectors ::RouteTracker . new ( store : store , roots : "dir" )
83
+ payload = {
84
+ params : {
85
+ "controller" => "some/controller" ,
86
+ "action" => "index"
87
+ } ,
88
+ controller : "SomeController" ,
89
+ action : "index" ,
90
+ path : "path" ,
91
+ method : "GET" ,
92
+ request : Payload . new ( "path" , "GET" )
93
+ }
94
+ tracker . track_key ( payload )
95
+ tracker . save_report
96
+ assert_equal [ route_hash ] , tracker . logged_keys
97
+ end
98
+
60
99
test "report used routes" do
61
100
store = fake_store
62
101
route_hash = { controller : "some/controller" , action : "index" , url_path : nil , verb : "GET" }
0 commit comments