X-Git-Url: https://www.nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/167c022752e162910ffaddc29e449412c3f83717..f3e83e558e53c812ce48784b950d0309eb8da3bb:/features/step_definitions/members.rb diff --git a/features/step_definitions/members.rb b/features/step_definitions/members.rb index 0dc8d5f..880f67e 100644 --- a/features/step_definitions/members.rb +++ b/features/step_definitions/members.rb @@ -1,4 +1,20 @@ #-*- coding: utf-8 -*- +# +# Système de gestion des adhésions de Nos oignons +# Copyright © 2013-2014 Nos oignons +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . def init_db @member_db_path = File.join(current_dir, NosOignons::MEMBERS_DB_DIR) @@ -39,7 +55,27 @@ Given /^une base avec (\w+) qui a adhéré le ([0-9-]+) et payé sa dernière co create_new_member(name, joined_on, paid_on) end -Given /^(?:une base )?avec (\w+) qui doit renouveller sa cotisation d'ici (\d+) jours$/ do |name, days_before_anniversary| +Given /^une base avec (\w+), membre (\w+), ayant cotisé le ([0-9-]+)$/ do |name, member_id, paid_on| + create_new_member(name, paid_on, paid_on) + expect(File.read(File.join(current_dir, member_filename_for_id(member_id)))).to include(name) +end + +Given /^une base avec (\w+), membre (\w+), n'ayant jamais cotisé$/ do |name, member_id| + joined_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d') + create_new_member(name, joined_on, nil) + expect(File.read(File.join(current_dir, member_filename_for_id(member_id)))).to include(name) +end + +Given /^une base avec uniquement (\w+), membre (\w+)$/ do |name, member_id| + paid_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d') + create_new_member(name, paid_on, paid_on) + member_path = File.join(current_dir, member_filename_for_id(member_id)) + expect(File.read(member_path)).to include(name) + expect(Dir.glob("#{@member_db_path}/[0-9]*")).to have(1).member +end + + +Given /^(?:une base )?avec (\w+) qui doit renouveler sa cotisation d'ici (\d+) jours$/ do |name, days_before_anniversary| now = Time.now paid_on = Time.new(now.year - 1, now.month, now.day).to_date + days_before_anniversary.to_i joined_on = paid_on