Et avec Moly qui doit renouveler sa cotisation d'ici 30 jours
     Lorsque j'exécute send-membership-reminders
     Alors des emails doivent avoir été envoyés à Jane, Fatima, Fred et Moly
+
+  Scénario: Envoi de l'appel avec une adresse postale
+    Soit une base avec Sophie ayant une adresse postale et qui doit renouveler sa cotisation d'ici 30 jours
+    Lorsque j'exécute send-membership-reminders
+    Alors l'appel pour la cotisation doit demander confirmation de l'adresse postale
+
+  Scénario: Envoi de l'appel sans adresse postale
+    Soit une base avec Sylvain qui n'a pas d'adresse postale et qui doit renouveler sa cotisation d'ici 30 jours
+    Lorsque j'exécute send-membership-reminders
+    Alors l'appel pour la cotisation ne doit pas parler de l'adresse postale
 
   expect(Mail::TestMailer.deliveries.first.body).to include('fred@example.org')
 end
 
+Then /^l'appel pour la cotisation doit demander confirmation de l'adresse postale$/ do
+  mail = Mail::TestMailer.deliveries.first
+  expect(mail.body).to include("vérifier que l'adresse postale")
+  expect(mail.body).to include(@last_member['address'])
+end
+
+
+Then /^l'appel pour la cotisation ne doit pas parler de l'adresse postale$/ do
+  mail = Mail::TestMailer.deliveries.first
+  expect(mail.body).to_not include("vérifier que l'adresse postale")
+end
+
 
   ENV['NOS_OIGNONS_BOARD_WIKI_PATH'] = expand_path('.')
 end
 
-def create_new_member(name, joined_on, paid_on)
-  @last_member = { 'name' => name,
-                   'address' => "At #{name}",
-                   'email' => "#{name.downcase}@example.org",
-                   'joined_on' => joined_on,
-                   'membership_fee_paid_on' => paid_on
-         }
+def new_member_data(name, joined_on, paid_on)
+  { 'name' => name,
+    'address' => "At #{name}",
+    'email' => "#{name.downcase}@example.org",
+    'joined_on' => joined_on,
+    'membership_fee_paid_on' => paid_on
+  }
+end
+
+def add_member(member_data)
+  @last_member = member_data
   init_db unless @member_db_path
   file = member_filename_for_id(new_id)
   File.write file, render_member_file(@last_member)
 end
 
+def create_new_member(*args)
+  add_member(new_member_data(*args))
+end
+
 Given /une base de membres vide$/ do
   init_db
 end
   expect(Dir.glob("#{@member_db_path}/[0-9]*").size).to eq(1)
 end
 
-
-Given /^(?:une base )?avec (\w+) qui doit renouveler sa cotisation d'ici (\d+) jours$/ do |name, days_before_anniversary|
+Given /^(?:une base )?avec (\w+) (ayant une adresse postale et |qui n'a pas d'adresse postale et )?qui doit renouveler sa cotisation d'ici (\d+) jours$/ do |name, address_status, 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
-  create_new_member(name, joined_on, paid_on)
+  member_data = new_member_data(name, joined_on, paid_on)
+  case address_status
+  when /ayant/
+    member_data['address'] = "At #{name}'s"
+  when /qui n'a pas/
+    member_data.delete('address')
+  end
+  add_member(member_data)
 end
 
 Given /^une nouvelle adhésion de (\w+)$/ do |name|
   create_new_member(name, joined_on, joined_on)
 end
 
-
 Given /^elle avait déjà reçu des appels l'année précédente$/ do
   Timecop.travel(Time.now.to_date - 375) do
     NosOignons::ReminderDb.instance.record(OpenStruct.new(@last_member))
 
     Il vient de `whois cogent.fr`.
 000002:
   name: Sylvain Dufier
-  address: |
-    ORANGE FRANCE
-    13, rue de Javel
-    75015 Paris
   email: sylvain.dufier@orange-ftgroup.com
   joined_on: 2013-05-20
   membership_fee_paid_on: 2013-05-29
 MEMBER_FILE_TEMPLATE = <<'END_OF_TEMPLATE'
 ---
 name: <%= name %>
+<% unless address.nil? %>
 address: |
 <%= address.gsub(/^/, '  ').rstrip %>
+<% end %>
 email: <%= email %>
 joined_on: <%= joined_on %>
 membership_fee_paid_on: <%= membership_fee_paid_on %>
 
             comment faire, écrivez au conseil d'administration. Répondre à cet email
             devrait faire l'affaire.
 
+            <% unless member.address.nil? %>
             Au passage, est-ce que vous pourriez vérifier que l'adresse postale est
             toujours bonne ? Voici celle que nous avons retenu :
 
 
             Si ce n'est plus le cas, c'est chouette de le signaler.
 
+            <% end %>
             Au plaisir de continuer l'aventure de Nos oignons avec vous,
             -- 
             Le robot du conseil d'administration