Satisfy the craving...
As long as you're capable of only indulging a little, it doesn't have a measurable impact on your progress, and it's a 'physical' craving not an 'emotional' one; it shouldn't hurt.
Just keep in mind that not all cravings are equal.
A physical craving has the following qualities:
- You are physiologically hungry.
- The craving does not go away if you try to wait it out.
- The craving intensifies over time.
- Nothing you do will take away the craving except the craved food.
An emotional craving, on the other hand, looks like this:
- You are not physiologically hungry.
- It does go away if you try to wait it out.
- The craving does not intensify over time; the emotion does.
- Doing something else satisfies the real need, and the craving disappears.
Source: familyeducation.com
The key here is, "Nothing you do will take away the craving except the craved food." That means, if you're specifically craving chocolate (and it isn't just an emotional craving) then not just any other type of sugar (like fruits) will meet your needs.
Satisfy it or you might find yourself eating larger quantities of other foods in vain without satisfying the craving.
You may also try some different types of chocolate to pinpoint exactly what you're craving. Is it the sweets, cocoa, or a quick spike in fat that your body is really craving.
As for 'when' you should eat chocolate. Eat it during those moments where ignoring it for a while only makes the craving more intense. If that is following a workout, do it then.
SideNote: I feel a little embarrassed admitting this but I get a vicious craving for fried chicken (like those little nugget things from ckick-fil-a) occasionally after some good sex. I have no idea why but eating anything else doesn't suppress the craving. If I don't meet the craving, I usually find myself eating a lot of other crap instead. The funny thing is, aside from that I rarely ever eat fast food (and never crave fast food specifically). Cravings are a strange beast...