Skip to content

Commit 7a971da

Browse files
test: Add 5 tests for cli/parsers/sync.py (Module 32)
Coverage boost for sync CLI parsers (31 lines). Tests added: - register_parsers function (1 test: adds sync-claude command) - sync-claude arguments (2 tests: --patterns-dir, --output-dir) - sync-claude defaults (2 tests: default directories) All tests passing: 5/5 ✓ (first try!) Module 32 of coverage enhancement initiative. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent e194dc1 commit 7a971da

1 file changed

Lines changed: 85 additions & 0 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
"""Tests for sync CLI parsers.
2+
3+
Module: cli/parsers/sync.py (31 lines)
4+
"""
5+
6+
import pytest
7+
from argparse import ArgumentParser
8+
9+
from empathy_os.cli.parsers.sync import register_parsers
10+
11+
12+
# ============================================================================
13+
# register_parsers Tests
14+
# ============================================================================
15+
16+
17+
@pytest.mark.unit
18+
class TestRegisterParsers:
19+
"""Test suite for sync parser registration."""
20+
21+
def test_register_parsers_adds_sync_claude(self):
22+
"""Test that register_parsers adds sync-claude command."""
23+
# Given
24+
parser = ArgumentParser()
25+
subparsers = parser.add_subparsers()
26+
27+
# When
28+
register_parsers(subparsers)
29+
30+
# Then
31+
# Parse with sync-claude to verify it was registered
32+
args = parser.parse_args(["sync-claude"])
33+
assert hasattr(args, "func")
34+
35+
def test_sync_claude_has_patterns_dir_arg(self):
36+
"""Test that sync-claude has --patterns-dir argument."""
37+
# Given
38+
parser = ArgumentParser()
39+
subparsers = parser.add_subparsers()
40+
register_parsers(subparsers)
41+
42+
# When
43+
args = parser.parse_args(["sync-claude", "--patterns-dir", "custom/patterns"])
44+
45+
# Then
46+
assert args.patterns_dir == "custom/patterns"
47+
48+
def test_sync_claude_has_output_dir_arg(self):
49+
"""Test that sync-claude has --output-dir argument."""
50+
# Given
51+
parser = ArgumentParser()
52+
subparsers = parser.add_subparsers()
53+
register_parsers(subparsers)
54+
55+
# When
56+
args = parser.parse_args(["sync-claude", "--output-dir", "custom/output"])
57+
58+
# Then
59+
assert args.output_dir == "custom/output"
60+
61+
def test_sync_claude_default_patterns_dir(self):
62+
"""Test that sync-claude has correct default for patterns-dir."""
63+
# Given
64+
parser = ArgumentParser()
65+
subparsers = parser.add_subparsers()
66+
register_parsers(subparsers)
67+
68+
# When
69+
args = parser.parse_args(["sync-claude"])
70+
71+
# Then
72+
assert args.patterns_dir == "patterns"
73+
74+
def test_sync_claude_default_output_dir(self):
75+
"""Test that sync-claude has correct default for output-dir."""
76+
# Given
77+
parser = ArgumentParser()
78+
subparsers = parser.add_subparsers()
79+
register_parsers(subparsers)
80+
81+
# When
82+
args = parser.parse_args(["sync-claude"])
83+
84+
# Then
85+
assert args.output_dir == ".claude/rules/empathy"

0 commit comments

Comments
 (0)