Coverage for domain/__init__.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-11-04 17:24 +0000

1"""Pure domain logic for Lumen Lending OS. 

2 

3This package imports NO Django and depends on NO database. Everything here is 

4deterministic, side-effect-free math/validation that can be unit-tested in 

5isolation and reused from API schemas, services, or scripts alike. 

6""" 

7 

8from domain.disclosures import can_generate_package 

9from domain.enums import ( 

10 KEY_DATE_KEYS, 

11 TrackerStatus, 

12 tracker_status_choices, 

13) 

14from domain.fees import ( 

15 BucketCure, 

16 FeeInput, 

17 QmFinding, 

18 QmResult, 

19 QmTier, 

20 ToleranceResult, 

21 bucket_of, 

22 compute_tolerance_cure, 

23 qm_points_and_fees_test, 

24) 

25from domain.pricing import ( 

26 ClosingCostBreakdown, 

27 ClosingCostItem, 

28 IneligibleProduct, 

29 LoCompDetail, 

30 PriceAdjustment, 

31 PricedProduct, 

32 PricingResult, 

33 PricingScenario, 

34 RateProductInput, 

35 RateStackItem, 

36 Recommendation, 

37 approximate_apr, 

38 price_adjustments, 

39 price_manual, 

40 price_scenario, 

41 recommend, 

42 to_pricing_result, 

43) 

44from domain.rules import ( 

45 SEED_RULES, 

46 AutomationRuleDef, 

47 RuleAction, 

48 RuleCondition, 

49 RuleEffect, 

50 RuleEvent, 

51 RuleOutcome, 

52 condition_holds, 

53 evaluate_rules, 

54) 

55from domain.trackers import ( 

56 TRACKER_DEFS, 

57 TrackerDef, 

58 TrackerRow, 

59 fresh_trackers, 

60) 

61 

62__all__ = [ 

63 "BucketCure", 

64 "FeeInput", 

65 "QmFinding", 

66 "QmResult", 

67 "QmTier", 

68 "ToleranceResult", 

69 "bucket_of", 

70 "compute_tolerance_cure", 

71 "qm_points_and_fees_test", 

72 "ClosingCostBreakdown", 

73 "ClosingCostItem", 

74 "IneligibleProduct", 

75 "LoCompDetail", 

76 "PriceAdjustment", 

77 "PricedProduct", 

78 "PricingResult", 

79 "PricingScenario", 

80 "RateProductInput", 

81 "RateStackItem", 

82 "Recommendation", 

83 "approximate_apr", 

84 "price_adjustments", 

85 "price_manual", 

86 "price_scenario", 

87 "recommend", 

88 "to_pricing_result", 

89 "TRACKER_DEFS", 

90 "TrackerDef", 

91 "TrackerRow", 

92 "fresh_trackers", 

93 "can_generate_package", 

94 "KEY_DATE_KEYS", 

95 "TrackerStatus", 

96 "tracker_status_choices", 

97 "SEED_RULES", 

98 "AutomationRuleDef", 

99 "RuleAction", 

100 "RuleCondition", 

101 "RuleEffect", 

102 "RuleEvent", 

103 "RuleOutcome", 

104 "condition_holds", 

105 "evaluate_rules", 

106]