@@ -71,3 +71,22 @@ def test_export_to_csv_success(tmp_path: Path) -> None:
7171 assert df .loc [0 , "scrape_method" ] == "bs4"
7272 assert df .loc [1 , "scrape_method" ] == "serper"
7373 assert "Fallback to Serper.dev" in str (df .loc [1 , "notes" ])
74+
75+
76+ def test_export_to_csv_sorting (tmp_path : Path , monkeypatch : pytest .MonkeyPatch ) -> None :
77+ """Verifies sorting by relevance (score) and alphabetically by domain."""
78+ new_config = replace (config , EXPORT_SORT_BY_RELEVANCE = True )
79+ monkeypatch .setattr ("src.exporter.config" , new_config )
80+
81+ output_file = tmp_path / "test_sort.csv"
82+ mock_results = [
83+ {"domain" : "b.com" , "score" : 50 , "status" : "success" },
84+ {"domain" : "c.com" , "score" : 100 , "status" : "success" },
85+ {"domain" : "a.com" , "score" : 50 , "status" : "success" },
86+ {"domain" : "d.com" , "score" : None , "status" : "error" },
87+ ]
88+ export_to_csv (mock_results , output_path = str (output_file ))
89+
90+ df = pd .read_csv (output_file )
91+ domains = df ["domain" ].tolist ()
92+ assert domains == ["c.com" , "a.com" , "b.com" , "d.com" ]
0 commit comments