Failing test added for new logic for isSpecialOffersEligible rule. Design changed in Product (purchasedAt property made mutable) in order to make testing possible.
Implementation of new rules for isSpecialOffersEligible