From 8536514115cf732eec24348862e835bde52acdf1 Mon Sep 17 00:00:00 2001 From: Lunar Date: Sat, 1 Jun 2013 11:09:31 +0200 Subject: [PATCH] Start implementing list-emails --- bin/list-emails | 6 +++ features/list-emails.feature | 47 ++++++++++++++++++++++ features/step_definitions/commands.rb | 8 ++++ features/step_definitions/subscriptions.rb | 4 ++ 4 files changed, 65 insertions(+) create mode 100755 bin/list-emails create mode 100644 features/list-emails.feature 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) -- 2.39.5