`As a first approach make the Self-Promotion Condition work incorporating all the required refactorings or make a different analogous class.
- For this PromotionBadge, PromotionCondition,*a new *PromotionProcess, Promotion classes must be changed and integrated together.
- Once this is complete we can add other methods/functions for other promotion processes subsequently.
Pass Promotion Description(via DSL)(a low level implementation) -> Reaches PromotionCondition -> Reaches SelfPromotion -> Assigns Badges -> Returns to PromotionProcess for final Promotion -> GetsPromotion Badge/Label -> Triggers the Promotion Job (a low level implementation).
- This class successfully communicates with its dependent classes like PromotionProcess, JobPropertyImpl,etc.
- Can inherit "conditions" from PromotionProcess.
- Can run successfully with no compilation/run time errors+Unit Tests.