Lorsque j'exécute send-membership-reminders le 2014-04-12
Alors aucun email ne doit avoir été envoyé
+ Scénario: Pas de message si la cotisation a été renouvellée bien avant la date anniversaire
+ Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19
+ Lorsque j'exécute send-membership-reminders le 2019-09-23
+ Alors aucun email ne doit avoir été envoyé
+
+ Scénario: Appel un mois avant si la cotisation a été payée bien avant la date anniversaire
+ Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19
+ Lorsque j'exécute send-membership-reminders le 2020-09-23
+ Alors 1 email doit avoir été envoyé
+
Scénario: Script pas exécuté tous les jours
Soit une base avec Jane qui doit renouveler sa cotisation d'ici 9 jours
Et qui a déjà reçu un appel 21 jours plus tôt
def send_membership_reminders!
today = Time.now.to_date
NosOignons::Member.all.select(&:up_to_date?).each do |member|
+ next if member.membership_fee_paid_on.year == today.year
reminders = NosOignons::Reminder.all.sort_by(&:days)
anniversary = Time.new(today.year, member.joined_on.month,
member.joined_on.day).to_date
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+require 'date'
require 'safe_yaml'
SafeYAML::OPTIONS[:default_mode] = :safe