@@ -26,7 +26,7 @@ module DangerPackwerk
2626 context 'using inputted formatter' do
2727 let ( :packwerk ) { dangerfile . packwerk }
2828 let ( :constant ) do
29- sorbet_double ( Packwerk ::ConstantContext , location : Packwerk :: Node :: Location . new ( 12 , 5 ) , package : double ( name : 'packs/some_pack' ) , name : '::PrivateConstant' )
29+ sorbet_double ( Packwerk ::ConstantContext , location : 'some/location.rb' , package : double ( name : 'packs/some_pack' ) , name : '::PrivateConstant' )
3030 end
3131 let ( :generic_dependency_violation ) do
3232 sorbet_double (
@@ -58,8 +58,11 @@ module DangerPackwerk
5858 Class . new do
5959 include Check ::OffensesFormatter
6060
61- def format_offenses ( offenses , repo_link , org_name , repo_url_builder : nil )
62- offenses . map ( &:message ) . join ( "\n \n " )
61+ def format_offenses ( offenses , repo_link , org_name , repo_url_builder :)
62+ constant_location = offenses . first . reference . constant . location
63+ constant_name = offenses . first . reference . constant . name
64+ url = repo_url_builder &.call ( constant_location . to_s )
65+ offenses . map { |offense | "#{ offense . message } [#{ constant_name } ](#{ url } )" } . join ( "\n \n " )
6366 end
6467 end
6568 end
@@ -117,7 +120,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
117120 actual_markdowns = dangerfile . status_report [ :markdowns ]
118121 expect ( actual_markdowns . count ) . to eq 1
119122 actual_markdown = actual_markdowns . first
120- expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
123+ expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
121124 expect ( actual_markdown . line ) . to eq 12
122125 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
123126 expect ( actual_markdown . type ) . to eq :markdown
@@ -136,7 +139,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
136139 actual_markdowns = dangerfile . status_report [ :markdowns ]
137140 expect ( actual_markdowns . count ) . to eq 1
138141 actual_markdown = actual_markdowns . first
139- expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
142+ expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
140143 expect ( actual_markdown . line ) . to eq 12
141144 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
142145 expect ( actual_markdown . type ) . to eq :markdown
@@ -154,7 +157,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
154157 actual_markdowns = dangerfile . status_report [ :markdowns ]
155158 expect ( actual_markdowns . count ) . to eq 1
156159 actual_markdown = actual_markdowns . first
157- expect ( actual_markdown . message ) . to eq 'Vanilla message about dependency violations'
160+ expect ( actual_markdown . message ) . to eq 'Vanilla message about dependency violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
158161 expect ( actual_markdown . line ) . to eq 12
159162 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
160163 expect ( actual_markdown . type ) . to eq :markdown
@@ -171,7 +174,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
171174 actual_markdowns = dangerfile . status_report [ :markdowns ]
172175 expect ( actual_markdowns . count ) . to eq 1
173176 actual_markdown = actual_markdowns . first
174- expect ( actual_markdown . message ) . to eq "Vanilla message about dependency violations\n \n Vanilla message about privacy violations"
177+ expect ( actual_markdown . message ) . to eq "Vanilla message about dependency violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
175178 expect ( actual_markdown . line ) . to eq 12
176179 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
177180 expect ( actual_markdown . type ) . to eq :markdown
@@ -193,7 +196,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
193196 actual_markdowns = dangerfile . status_report [ :markdowns ]
194197 expect ( actual_markdowns . count ) . to eq 1
195198 actual_markdown = actual_markdowns . first
196- expect ( actual_markdown . message ) . to eq "Vanilla message about dependency violations\n \n Vanilla message about privacy violations"
199+ expect ( actual_markdown . message ) . to eq "Vanilla message about dependency violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
197200 expect ( actual_markdown . line ) . to eq 12
198201 expect ( actual_markdown . file ) . to eq "#{ root_path } packs/referencing_pack/some_file.rb"
199202 expect ( actual_markdown . type ) . to eq :markdown
@@ -217,7 +220,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
217220 actual_markdowns = dangerfile . status_report [ :markdowns ]
218221 expect ( actual_markdowns . count ) . to eq 1
219222 actual_markdown = actual_markdowns . first
220- expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
223+ expect ( actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
221224 expect ( actual_markdown . line ) . to eq 12
222225 expect ( actual_markdown . file ) . to eq "#{ root_path } packs/referencing_pack/some_file.rb"
223226 expect ( actual_markdown . type ) . to eq :markdown
@@ -262,7 +265,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
262265 actual_markdowns = dangerfile . status_report [ :markdowns ]
263266 expect ( actual_markdowns . count ) . to eq 1
264267 actual_markdown = actual_markdowns . first
265- expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations\n \n Vanilla message about dependency violations"
268+ expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about dependency violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
266269 expect ( actual_markdown . line ) . to eq 12
267270 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
268271 expect ( actual_markdown . type ) . to eq :markdown
@@ -306,13 +309,13 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
306309 expect ( actual_markdowns . count ) . to eq 2
307310
308311 first_actual_markdown = actual_markdowns . first
309- expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
312+ expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
310313 expect ( first_actual_markdown . line ) . to eq 12
311314 expect ( first_actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
312315 expect ( first_actual_markdown . type ) . to eq :markdown
313316
314317 second_actual_markdown = actual_markdowns . last
315- expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
318+ expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
316319 expect ( second_actual_markdown . line ) . to eq 22
317320 expect ( second_actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
318321 expect ( second_actual_markdown . type ) . to eq :markdown
@@ -356,13 +359,13 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
356359 expect ( actual_markdowns . count ) . to eq 2
357360
358361 first_actual_markdown = actual_markdowns . first
359- expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
362+ expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
360363 expect ( first_actual_markdown . line ) . to eq 12
361364 expect ( first_actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
362365 expect ( first_actual_markdown . type ) . to eq :markdown
363366
364367 second_actual_markdown = actual_markdowns . last
365- expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
368+ expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
366369 expect ( second_actual_markdown . line ) . to eq 12
367370 expect ( second_actual_markdown . file ) . to eq 'packs/referencing_pack/some_other_file.rb'
368371 expect ( second_actual_markdown . type ) . to eq :markdown
@@ -406,13 +409,13 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
406409 expect ( actual_markdowns . count ) . to eq 2
407410
408411 first_actual_markdown = actual_markdowns . first
409- expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
412+ expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
410413 expect ( first_actual_markdown . line ) . to eq 12
411414 expect ( first_actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
412415 expect ( first_actual_markdown . type ) . to eq :markdown
413416
414417 second_actual_markdown = actual_markdowns . last
415- expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
418+ expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
416419 expect ( second_actual_markdown . line ) . to eq 12
417420 expect ( second_actual_markdown . file ) . to eq 'packs/another_referencing_pack/some_file.rb'
418421 expect ( second_actual_markdown . type ) . to eq :markdown
@@ -463,7 +466,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
463466 actual_markdowns = dangerfile . status_report [ :markdowns ]
464467 expect ( actual_markdowns . count ) . to eq 1
465468 actual_markdown = actual_markdowns . first
466- expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations\n \n Vanilla message about dependency violations"
469+ expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about dependency violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
467470 expect ( actual_markdown . line ) . to eq 12
468471 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
469472 expect ( actual_markdown . type ) . to eq :markdown
@@ -505,7 +508,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
505508 actual_markdowns = dangerfile . status_report [ :markdowns ]
506509 expect ( actual_markdowns . count ) . to eq 1
507510 actual_markdown = actual_markdowns . first
508- expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations\n \n Vanilla message about privacy violations"
511+ expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
509512 expect ( actual_markdown . line ) . to eq 12
510513 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
511514 expect ( actual_markdown . type ) . to eq :markdown
@@ -547,7 +550,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
547550 actual_markdowns = dangerfile . status_report [ :markdowns ]
548551 expect ( actual_markdowns . count ) . to eq 1
549552 actual_markdown = actual_markdowns . first
550- expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations\n \n Vanilla message about privacy violations"
553+ expect ( actual_markdown . message ) . to eq "Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) \n \n Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) "
551554 expect ( actual_markdown . line ) . to eq 12
552555 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
553556 expect ( actual_markdown . type ) . to eq :markdown
@@ -602,13 +605,13 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
602605 expect ( actual_markdowns . count ) . to eq 2
603606
604607 first_actual_markdown = actual_markdowns . first
605- expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
608+ expect ( first_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
606609 expect ( first_actual_markdown . line ) . to eq 12
607610 expect ( first_actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
608611 expect ( first_actual_markdown . type ) . to eq :markdown
609612
610613 second_actual_markdown = actual_markdowns . last
611- expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations'
614+ expect ( second_actual_markdown . message ) . to eq 'Vanilla message about privacy violations [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
612615 expect ( second_actual_markdown . line ) . to eq 12
613616 expect ( second_actual_markdown . file ) . to eq 'packs/another_referencing_pack/some_file.rb'
614617 expect ( second_actual_markdown . type ) . to eq :markdown
@@ -756,7 +759,7 @@ def format_offenses(offenses, repo_link, org_name, repo_url_builder: nil)
756759 actual_markdowns = dangerfile . status_report [ :markdowns ]
757760 expect ( actual_markdowns . count ) . to eq 1
758761 actual_markdown = actual_markdowns . first
759- expect ( actual_markdown . message ) . to eq 'Some unknown message'
762+ expect ( actual_markdown . message ) . to eq 'Some unknown message [::PrivateConstant](https://github.com/MyOrg/my_repo/blob/my_branch/some/location.rb) '
760763 expect ( actual_markdown . line ) . to eq 12
761764 expect ( actual_markdown . file ) . to eq 'packs/referencing_pack/some_file.rb'
762765 expect ( actual_markdown . type ) . to eq :markdown
0 commit comments