From b4230b06ef1709d83f7be84e023b831b7771a940 Mon Sep 17 00:00:00 2001 From: Lunar Date: Sat, 1 Jun 2013 10:56:20 +0200 Subject: [PATCH] Also ensure correctness of membership_fee_paid_on field --- features/pre-commit-hook.feature | 10 ++++++++++ features/pre-receive-hook.feature | 10 ++++++++++ features/step_definitions/subscriptions.rb | 14 ++++++++++++++ lib/nos_oignons/subscriptions.rb | 3 +++ 4 files changed, 37 insertions(+) diff --git a/features/pre-commit-hook.feature b/features/pre-commit-hook.feature index cbcbcfa..8f59ee3 100644 --- a/features/pre-commit-hook.feature +++ b/features/pre-commit-hook.feature @@ -45,6 +45,16 @@ Fonctionnalité: pre-commit hook Git 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 avec une date de cotisation incensée + Lorsque j'ajoute une fiche avec comme date de cotisation "2011-99-01" + 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 avec une mauvaise date de cotisation + Lorsque j'ajoute une fiche avec comme date de cotisation "janvier 2013" + Et que je fais un `commit` du nouveau fichier + Alors je dois voir comme erreur "pas le bon format" + Scénario: Suppression du nom sur une fiche existante Lorsque je supprime le nom sur une fiche existante Et que je fais un `commit` du nouveau fichier diff --git a/features/pre-receive-hook.feature b/features/pre-receive-hook.feature index 7050759..aa7f405 100644 --- a/features/pre-receive-hook.feature +++ b/features/pre-receive-hook.feature @@ -45,6 +45,16 @@ Fonctionnalité: pre-receive hook Git Et que je pousse la modification Alors je dois voir comme erreur "pas le bon format" + Scénario: Commit d'une fiche avec une date de cotisation incensée + Lorsque j'ajoute une fiche avec comme date de cotisation "2011-99-01" + Et que je pousse la modification + Alors je dois voir comme erreur "pas le bon format" + + Scénario: Commit d'une fiche avec une mauvaise date de cotisation + Lorsque j'ajoute une fiche avec comme date de cotisation "janvier 2013" + Et que je pousse la modification + Alors je dois voir comme erreur "pas le bon format" + Scénario: Suppression du nom sur une fiche existante Lorsque je supprime le nom sur une fiche existante Et que je pousse la modification diff --git a/features/step_definitions/subscriptions.rb b/features/step_definitions/subscriptions.rb index 7b70bd0..e8481f6 100644 --- a/features/step_definitions/subscriptions.rb +++ b/features/step_definitions/subscriptions.rb @@ -50,6 +50,20 @@ When /^j'ajoute une fiche sans nom$/ do EOF end +When /^j'ajoute une fiche avec comme date de cotisation "([^"]*)"$/ do |date| + @file = subscription_filename_for_id(new_id) + write_file @file, <<-EOF.gsub(/^ /, '') + --- + name: J. Example + email: joe@example.org + address: | + 21 Jump Street + 42000 Synthé + membership_fee_paid_on: #{date} + --- + EOF +end + When /^je supprime le nom sur une fiche existante$/ do @file = subscription_filename_for_id(1) run_simple "sed -e '/^name:/d' -i #{@file}" diff --git a/lib/nos_oignons/subscriptions.rb b/lib/nos_oignons/subscriptions.rb index eef7946..2c8585e 100644 --- a/lib/nos_oignons/subscriptions.rb +++ b/lib/nos_oignons/subscriptions.rb @@ -15,6 +15,9 @@ def is_valid_subscription?(content) ['name', 'email'].each do |key| return false unless data.include?(key) end + if data.include?('membership_fee_paid_on') + return false unless data.is_a?(Date) + end true end -- 2.39.2