Offer factory and unit test
Add condition in offer model