File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # typed: true
2+ # frozen_string_literal: true
3+
4+ require "test_helper"
5+
6+ module Packwerk
7+ class ReferencesFromFileTest < Minitest ::Test
8+ setup do
9+ config = Configuration . new
10+ config . stubs ( :load_paths ) . returns ( { } )
11+ @run_context = RunContext . from_configuration ( config )
12+ RunContext . stubs ( :from_configuration ) . with ( config ) . returns ( @run_context )
13+ @referencer = ReferencesFromFile . new ( config )
14+ end
15+
16+ test "raises on parser error" do
17+ offense = Offense . new ( file : "something.rb" , message : "yo" )
18+ @run_context . stubs ( :references_from_file ) . returns (
19+ RunContext ::FileReferencesResult . new ( file_offenses : [ offense ] , references : [ ] )
20+ )
21+
22+ assert_raises ReferencesFromFile ::FileParserError do
23+ @referencer . list ( "lib/something.rb" )
24+ end
25+ end
26+
27+ test "fetches violations for all files from run context" do
28+ references = {
29+ "lib/something.rb" => [
30+ Reference . new ,
31+ ] ,
32+ "components/ice_cream_sales/app/models/scoop.rb" => [
33+ Reference . new ,
34+ ] ,
35+ }
36+ @referencer . stubs ( :files ) . returns ( references . keys )
37+
38+ references . each do |file , references |
39+ @run_context . stubs ( :references_from_file ) . with ( relative_file : file ) . returns (
40+ RunContext ::FileReferencesResult . new ( file_offenses : [ ] , references : references )
41+ )
42+ end
43+
44+ assert_equal Set . new ( references . values . flatten ) , Set . new ( @referencer . list_all )
45+ end
46+ end
47+ end
You can’t perform that action at this time.
0 commit comments