ox-it/wl-signup — pull request #33 by bdvholmes (2014-01-28 17:30:33+00:00)
Title: WL-3170 Refactor and test email sending

This was a total mess with a mix of different classes for different types of email, yet different behaviours for these emails being defined in a big switch statement.

There is still a lot of type specific behaviour defined outside of the individual email classes but this change specifically extracts the behaviour for generating a list of events for making iCal files. Common behaviours are shared between groups of emails by subclassing.

This also introduces the `isCancellation` method to each email class, which is used to determine whether the resulting calendar attachment should take advantage of the `CANCEL` method.

There are tests defined for each of the types of email for which we are generating events.