]> nos-oignons.net Git - gestion-adh.git/commitdiff
Next step in pre-commit hook implementation
authorLunar <lunar@anargeek.net>
Fri, 31 May 2013 20:56:29 +0000 (22:56 +0200)
committerLunar <lunar@anargeek.net>
Fri, 31 May 2013 20:56:29 +0000 (22:56 +0200)
bin/pre-commit-hook
features/pre-commit-hook.feature
features/step_definitions/subscriptions.rb

index 7d3d0e8f4c8fdbf30c3090afb9944b3191c190fd..fcfb3e91a8fd981c7e970027b5b9507244bd093f 100755 (executable)
@@ -19,12 +19,15 @@ def is_valid_subscription?(content)
   return false if content.length == 0
   return false unless content.start_with?("---\n")
   begin
   return false if content.length == 0
   return false unless content.start_with?("---\n")
   begin
-    YAML.load(content)
-    true
+    data = YAML.load(content)
   rescue ArgumentError
     # Parse error
   rescue ArgumentError
     # Parse error
-    false
+    return false
   end
   end
+  ['name', 'email'].each do |key|
+    return false unless data.include?(key)
+  end
+  true
 end
 
 def is_valid_subscription_file?(file)
 end
 
 def is_valid_subscription_file?(file)
index 1765ffbac1d18af93602fb81e5b57596e3b67e1b..c3883085894d40f4c2c21264bf65fe32bd1884f7 100644 (file)
@@ -29,3 +29,8 @@ Fonctionnalité: pre-commit hook Git
     Lorsque j'ajoute une fiche avec du mauvais YAML
     Et que je fais un `commit` du nouveau fichier
     Alors je dois voir comme erreur "pas le bon format"
     Lorsque j'ajoute une fiche avec du mauvais YAML
     Et que je fais un `commit` du nouveau fichier
     Alors je dois voir comme erreur "pas le bon format"
+
+  Scénario: Commit d'une fiche sans email
+    Lorsque j'ajoute une fiche sans email
+    Et que je fais un `commit` du nouveau fichier
+    Alors je dois voir comme erreur "pas le bon format"
index 50f3dbb1ea813134c15b8bd59d50c3f08cc6e409..2c07a72a06959df71d63096e98eacaa6ee175bd0 100644 (file)
@@ -23,3 +23,16 @@ When /^j'ajoute une fiche avec du mauvais YAML$/ do
     ---
   EOF
 end
     ---
   EOF
 end
+
+When /^j'ajoute une fiche sans email$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    name: J. Example
+    address: |
+      21 Jump Street
+      42000 Synthé
+    membership_fee_paid_on: 2013-02-20
+    ---
+  EOF
+end