From: Lunar <lunar@anargeek.net>
Date: Sat, 1 Jun 2013 09:09:31 +0000 (+0200)
Subject: Start implementing list-emails
X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/commitdiff_plain/8536514115cf732eec24348862e835bde52acdf1

Start implementing list-emails
---

diff --git a/bin/list-emails b/bin/list-emails
new file mode 100755
index 0000000..5d3fb74
--- /dev/null
+++ b/bin/list-emails
@@ -0,0 +1,6 @@
+#!/usr/bin/ruby1.9.1
+#-*- coding: utf-8 -*-
+
+require 'rubygems'
+require 'bundler'
+Bundler.setup
diff --git a/features/list-emails.feature b/features/list-emails.feature
new file mode 100644
index 0000000..27c2a9e
--- /dev/null
+++ b/features/list-emails.feature
@@ -0,0 +1,47 @@
+# language: fr
+
+Fonctionnalité: obtenir les emails des membres à jour de cotisations
+  En tant que membre du C.A. de Nos oignons, je dois pouvoir obtenir
+  les emails des membres à jour de cotisation, afin, par exemple
+  de pouvoir démarrer un vote.
+
+  Scénario: Aucun membre enregistré
+    Soit une base de membres vide
+    Lorsque j'exécute list-emails
+    Alors la sortie doit-être vide
+
+  Scénario: Un membre à jour de cotisation
+    Soit une base avec Pierre, à jour de cotisation
+    Lorsque j'exécute list-emails
+    Alors la sortie doit être:
+      """
+      pierre@example.org
+      """
+
+  Scénario: Un ancien membre
+    Soit une base avec Pierre, qui n'a pas payé sa cotisation cette année
+    Lorsque j'exécute list-emails
+    Alors la sortie doit être vide
+
+  Scénario: Plusieurs membres à jour
+    Soit une base avec Pierre, à jour de cotisation
+    Et avec Jane, à jour de cotisation
+    Et avec Fatima, à jour de cotisation
+    Lorsque j'exécute list-emails
+    Alors la sortie doit être:
+      """
+      pierre@example.org
+      jane@example.org
+      fatima@example.org
+      """
+
+  Scénario: Des membres à jour et d'autres pas
+    Soit une base avec Pierre, qui n'a pas payé sa cotisation cette année
+    Et avec Jane, à jour de cotisation
+    Et avec Fatima, à jour de cotisation
+    Lorsque j'exécute list-emails
+    Alors la sortie doit être:
+      """
+      jane@example.org
+      fatima@example.org
+      """
diff --git a/features/step_definitions/commands.rb b/features/step_definitions/commands.rb
index d069730..ae6d798 100644
--- a/features/step_definitions/commands.rb
+++ b/features/step_definitions/commands.rb
@@ -1,3 +1,7 @@
+When /^j'exécute list\-emails$/ do
+  run_simple 'list-emails'
+end
+
 Then /^je ne dois pas avoir eu d'erreur$/ do
   assert_exit_status(0)
 end
@@ -5,3 +9,7 @@ end
 Then /^je dois voir comme erreur "(.*?)"$/ do |expected|
   assert_failing_with(expected)
 end
+
+Then /^la sortie doit-être vide$/ do
+  expect(all_output).to be_empty
+end
diff --git a/features/step_definitions/subscriptions.rb b/features/step_definitions/subscriptions.rb
index e8481f6..aa3365d 100644
--- a/features/step_definitions/subscriptions.rb
+++ b/features/step_definitions/subscriptions.rb
@@ -1,3 +1,7 @@
+Given /une base de membres vide$/ do
+  create_dir 'Membres'
+end
+
 When /^j'ajoute une fiche correcte pour une nouvelle adhésion$/ do
   @file = subscription_filename_for_id(new_id)
   write_file @file, render_subscription_file(EXTRA_SUBSCRIPTION)