On met à jour les dépendences pour que ça fonctionne bien sur une Debian
Stretch.
Pour les tests, vu qu'on est plus en 2016, il faut forcer la date à laquelle on
exécute `create-membership-fee-receipt`. Il y a un petit changement lié
également lié à un changement de la syntaxe française de Cucumber.
 GEM
   remote: https://rubygems.org/
   specs:
 GEM
   remote: https://rubygems.org/
   specs:
       childprocess (~> 0.5.6)
       contracts (~> 0.9)
       cucumber (>= 1.3.19)
       childprocess (~> 0.5.6)
       contracts (~> 0.9)
       cucumber (>= 1.3.19)
       ffi (~> 1.9.10)
       rspec-expectations (>= 2.99)
       thor (~> 0.19)
       ffi (~> 1.9.10)
       rspec-expectations (>= 2.99)
       thor (~> 0.19)
     childprocess (0.5.9)
       ffi (~> 1.0, >= 1.0.11)
     childprocess (0.5.9)
       ffi (~> 1.0, >= 1.0.11)
-    contracts (0.12.0)
-    cucumber (2.1.0)
+    contracts (0.16.0)
+    cucumber (2.4.0)
-      cucumber-core (~> 1.3.0)
+      cucumber-core (~> 1.5.0)
+      cucumber-wire (~> 0.0.1)
       multi_json (>= 1.7.5, < 2.0)
       multi_test (>= 0.1.2)
       multi_json (>= 1.7.5, < 2.0)
       multi_test (>= 0.1.2)
-    cucumber-core (1.3.1)
-      gherkin3 (~> 3.1.0)
-    diff-lcs (1.2.5)
-    event-bus (0.2.3)
-    ffi (1.9.10)
-    gherkin3 (3.1.2)
-    json (1.7.7)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
-    mime-types (2.99)
-    multi_json (1.11.2)
+    cucumber-core (1.5.0)
+      gherkin (~> 4.0)
+    cucumber-wire (0.0.1)
+    diff-lcs (1.3)
+    ffi (1.9.18)
+    gherkin (4.1.3)
+    json (2.1.0)
+    mail (2.6.6)
+      mime-types (>= 1.16, < 4)
+    mime-types (3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2016.0521)
+    multi_json (1.12.2)
-    pdf-core (0.6.0)
-    prawn (2.0.2)
-      pdf-core (~> 0.6.0)
-      ttfunk (~> 1.4.0)
-    rspec-expectations (3.4.0)
+    pdf-core (0.7.0)
+    prawn (2.2.2)
+      pdf-core (~> 0.7.0)
+      ttfunk (~> 1.5)
+    rspec-expectations (3.6.0)
       diff-lcs (>= 1.2.0, < 2.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.4.0)
-    rspec-support (3.4.1)
+      rspec-support (~> 3.6.0)
+    rspec-support (3.6.0)
-    thor (0.19.1)
-    timecop (0.8.0)
-    ttfunk (1.4.0)
+    thor (0.20.0)
+    timecop (0.9.1)
+    ttfunk (1.5.1)
 
 DEPENDENCIES
   aruba
   cucumber
 DEPENDENCIES
   aruba
   cucumber
 
 
   Scénario: Création du reçu
     Soit une base avec Jane, membre 000001, ayant cotisé le 2015-06-03
 
   Scénario: Création du reçu
     Soit une base avec Jane, membre 000001, ayant cotisé le 2015-06-03
-    Lorsque j'exécute `create-membership-fee-receipt 000001 10,00`
+    Lorsque j'exécute `create-membership-fee-receipt 000001 10,00` le 2015-09-06
     Alors le fichier "receipt-000001-2015-06-03.pdf" doit avoir été créé avec les reçus
     Et il doit contenir le nom et l'adresse de Jane, la date et le montant de la cotisation
 
     Alors le fichier "receipt-000001-2015-06-03.pdf" doit avoir été créé avec les reçus
     Et il doit contenir le nom et l'adresse de Jane, la date et le montant de la cotisation
 
 
   NosOignons.send_member_emails_to_advisors!
 end
 
   NosOignons.send_member_emails_to_advisors!
 end
 
+When /^j'exécute `create\-membership\-fee\-receipt ([0-9]+) ([0-9,]+)` le ([0-9]{4})-([0-9]{2})-([0-9]{2})$/ do |member, amount, year, month, day|
+  Timecop.travel(Date.new(year.to_i, month.to_i, day.to_i)) do
+    NosOignons.create_membership_fee_receipt!(member, amount)
+  end
+end
+
 When /^j'exécute `(create\-membership\-fee\-receipt.*)`$/ do |cmd|
   run_simple cmd, :fail_on_error => false
 end
 When /^j'exécute `(create\-membership\-fee\-receipt.*)`$/ do |cmd|
   run_simple cmd, :fail_on_error => false
 end
 
   run_simple "git commit #{@file} -m 'new file'", false # do not fail on error
 end
 
   run_simple "git commit #{@file} -m 'new file'", false # do not fail on error
 end
 
-When /^que je pousse la modification$/ do
+When /je pousse la modification$/ do
   run_simple "git add #{@file}"
   run_simple "git commit #{@file} -m 'new file'"
   run_simple 'git push origin master', false # do not fail on error
   run_simple "git add #{@file}"
   run_simple "git commit #{@file} -m 'new file'"
   run_simple 'git push origin master', false # do not fail on error
 
 
   s.add_development_dependency 'cucumber'
   s.add_development_dependency 'aruba'
 
   s.add_development_dependency 'cucumber'
   s.add_development_dependency 'aruba'
-  s.add_development_dependency 'json', '~> 1.7.7'
+  s.add_development_dependency 'json'
   s.add_development_dependency 'timecop'
   s.add_runtime_dependency 'safe_yaml'
   s.add_runtime_dependency 'mail'
   s.add_development_dependency 'timecop'
   s.add_runtime_dependency 'safe_yaml'
   s.add_runtime_dependency 'mail'