66
77from vocabmaster import cli , config_handler , utils
88
9+ DEFAULT_PAIR_MISSING_MESSAGE = (
10+ "No default language pair found. Run 'vocabmaster pairs add' to create a language pair, "
11+ "then 'vocabmaster pairs set-default' to choose a default.\n "
12+ "See `vocabmaster --help` for more information."
13+ )
14+
915
1016@pytest .fixture (autouse = True )
1117def reset_click_defaults (monkeypatch ):
@@ -480,7 +486,7 @@ def record_generate(translations, anki, language, mother, custom_deck_name=None)
480486class TestAnkiCommand :
481487 def test_anki_requires_default_pair (self , isolated_app_dir , monkeypatch ):
482488 def fail_pair (option ):
483- raise ValueError ("No default language pair found." )
489+ raise ValueError (DEFAULT_PAIR_MISSING_MESSAGE )
484490
485491 monkeypatch .setattr (cli .config_handler , "get_language_pair" , fail_pair )
486492
@@ -489,6 +495,8 @@ def fail_pair(option):
489495 assert result .exit_code == 1
490496 assert "No default language pair found." in result .output
491497 assert "vocabmaster pairs add" in result .output
498+ assert "vocabmaster pairs set-default" in result .output
499+ assert "vocabmaster --help" in result .output
492500
493501 def test_anki_generates_deck_when_default_set (self , isolated_app_dir , monkeypatch ):
494502 monkeypatch .setattr (
@@ -583,14 +591,17 @@ def record_explain():
583591class TestTokensCommand :
584592 def test_tokens_requires_default_pair (self , isolated_app_dir , monkeypatch ):
585593 def fail_pair (option ):
586- raise ValueError ("No default language pair found" )
594+ raise ValueError (DEFAULT_PAIR_MISSING_MESSAGE )
587595
588596 monkeypatch .setattr (cli .config_handler , "get_language_pair" , fail_pair )
589597
590598 result = invoke_cli (["tokens" ])
591599
592600 assert result .exit_code == 1
593- assert "No default language pair found" in result .output
601+ assert "No default language pair found." in result .output
602+ assert "vocabmaster pairs add" in result .output
603+ assert "vocabmaster pairs set-default" in result .output
604+ assert "vocabmaster --help" in result .output
594605
595606 def test_tokens_requires_words (self , isolated_app_dir , monkeypatch ):
596607 monkeypatch .setattr (
@@ -782,7 +793,7 @@ def test_recover_list_requires_language_pair(self, isolated_app_dir, monkeypatch
782793 """recover list shows error with hint when no language pair configured."""
783794
784795 def fail_pair (_pair ):
785- raise ValueError ("No default language pair found." )
796+ raise ValueError (DEFAULT_PAIR_MISSING_MESSAGE )
786797
787798 monkeypatch .setattr (cli .config_handler , "get_language_pair" , fail_pair )
788799
@@ -791,6 +802,8 @@ def fail_pair(_pair):
791802 assert result .exit_code == 1
792803 assert "No default language pair found." in result .output
793804 assert "vocabmaster pairs add" in result .output
805+ assert "vocabmaster pairs set-default" in result .output
806+ assert "vocabmaster --help" in result .output
794807
795808
796809class TestRecoverRestoreCommand :
@@ -1213,14 +1226,17 @@ def test_recover_validate_invalid_pair(self, isolated_app_dir, monkeypatch):
12131226 """recover validate shows error for invalid language pair."""
12141227
12151228 def fail_pair (_pair ):
1216- raise ValueError ("No default language pair found." )
1229+ raise ValueError (DEFAULT_PAIR_MISSING_MESSAGE )
12171230
12181231 monkeypatch .setattr (cli .config_handler , "get_language_pair" , fail_pair )
12191232
12201233 result = invoke_cli (["recover" , "validate" ])
12211234
12221235 assert result .exit_code == 1
12231236 assert "No default language pair found." in result .output
1237+ assert "vocabmaster pairs add" in result .output
1238+ assert "vocabmaster pairs set-default" in result .output
1239+ assert "vocabmaster --help" in result .output
12241240
12251241
12261242class TestConfigHandlerRemove :
0 commit comments