Coverage for tests / unit / tools / pytest_tool / test_configuration.py: 100%

30 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Tests for PytestConfiguration class.""" 

2 

3from __future__ import annotations 

4 

5from assertpy import assert_that 

6 

7from lintro.enums.pytest_enums import PytestSpecialMode 

8from lintro.tools.implementations.pytest.pytest_config import PytestConfiguration 

9 

10# ============================================================================= 

11# Tests for PytestConfiguration class 

12# ============================================================================= 

13 

14 

15def test_default_values(sample_pytest_config: PytestConfiguration) -> None: 

16 """Configuration has correct default values. 

17 

18 Args: 

19 sample_pytest_config: The PytestConfiguration instance to test. 

20 """ 

21 assert_that(sample_pytest_config.verbose).is_none() 

22 assert_that(sample_pytest_config.tb).is_none() 

23 assert_that(sample_pytest_config.maxfail).is_none() 

24 

25 

26def test_set_options(sample_pytest_config: PytestConfiguration) -> None: 

27 """Configuration set_options works correctly. 

28 

29 Args: 

30 sample_pytest_config: The PytestConfiguration instance to test. 

31 """ 

32 sample_pytest_config.set_options(verbose=True, tb="short", maxfail=5) 

33 assert_that(sample_pytest_config.verbose).is_true() 

34 assert_that(sample_pytest_config.tb).is_equal_to("short") 

35 assert_that(sample_pytest_config.maxfail).is_equal_to(5) 

36 

37 

38def test_get_options_dict(sample_pytest_config: PytestConfiguration) -> None: 

39 """Configuration get_options_dict returns only non-None values. 

40 

41 Args: 

42 sample_pytest_config: The PytestConfiguration instance to test. 

43 """ 

44 sample_pytest_config.set_options(verbose=True, tb="short") 

45 options = sample_pytest_config.get_options_dict() 

46 assert_that(options).contains_key("verbose") 

47 assert_that(options).contains_key("tb") 

48 assert_that(options.get("verbose")).is_true() 

49 assert_that(options.get("tb")).is_equal_to("short") 

50 

51 

52def test_is_special_mode_false_by_default( 

53 sample_pytest_config: PytestConfiguration, 

54) -> None: 

55 """Configuration is_special_mode returns False by default. 

56 

57 Args: 

58 sample_pytest_config: The PytestConfiguration instance to test. 

59 """ 

60 assert_that(sample_pytest_config.is_special_mode()).is_false() 

61 

62 

63def test_is_special_mode_true_when_set( 

64 sample_pytest_config: PytestConfiguration, 

65) -> None: 

66 """Configuration is_special_mode returns True when special mode is set. 

67 

68 Args: 

69 sample_pytest_config: The PytestConfiguration instance to test. 

70 """ 

71 sample_pytest_config.set_options(collect_only=True) 

72 assert_that(sample_pytest_config.is_special_mode()).is_true() 

73 

74 

75def test_get_special_mode_none_by_default( 

76 sample_pytest_config: PytestConfiguration, 

77) -> None: 

78 """Configuration get_special_mode returns None by default. 

79 

80 Args: 

81 sample_pytest_config: The PytestConfiguration instance to test. 

82 """ 

83 assert_that(sample_pytest_config.get_special_mode()).is_none() 

84 

85 

86def test_get_special_mode_returns_correct_mode( 

87 sample_pytest_config: PytestConfiguration, 

88) -> None: 

89 """Configuration get_special_mode returns the correct mode name. 

90 

91 Args: 

92 sample_pytest_config: The PytestConfiguration instance to test. 

93 """ 

94 sample_pytest_config.set_options(list_plugins=True) 

95 assert_that(sample_pytest_config.get_special_mode()).is_equal_to( 

96 PytestSpecialMode.LIST_PLUGINS.value, 

97 )