From f7220ba07250ba4caa9a19e492f779240d04ffc2 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 18 Nov 2014 10:20:56 +0100 Subject: [PATCH] Bug 13007: Special case budgetid == '' In this special case (the suggestion is linked to "all funds"), the budgetid value should be NULL in DB. Signed-off-by: Paola Rossi Signed-off-by: Katrin Fischer Works as described, passes old and new tests. Signed-off-by: Tomas Cohen Arazi --- C4/Suggestions.pm | 2 ++ t/db_dependent/Suggestions.t | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm index 5470fe0526..f34c942618 100644 --- a/C4/Suggestions.pm +++ b/C4/Suggestions.pm @@ -437,6 +437,7 @@ sub NewSuggestion { accepteddate rejectedby rejecteddate + budgetid ) ) { # Set the fields to NULL if not given. $suggestion->{$field} ||= undef; @@ -475,6 +476,7 @@ sub ModSuggestion { accepteddate rejectedby rejecteddate + budgetid ) ) { # Set the fields to NULL if not given. $suggestion->{$field} = undef diff --git a/t/db_dependent/Suggestions.t b/t/db_dependent/Suggestions.t index 73f10e6f9d..7e12df95e7 100644 --- a/t/db_dependent/Suggestions.t +++ b/t/db_dependent/Suggestions.t @@ -25,7 +25,7 @@ use C4::Budgets; use Koha::DateUtils qw( dt_from_string ); -use Test::More tests => 102; +use Test::More tests => 104; use Test::Warn; BEGIN { @@ -352,6 +352,13 @@ is(@$itemtypes2, 8, "Purchase suggestion itemtypes collected, default AdvancedSe is_deeply($itemtypes1, $itemtypes2, 'same set of purchase suggestion formats retrieved'); -$dbh->rollback; +# Test budgetid fk +$my_suggestion->{budgetid} = ''; # If budgetid == '', NULL should be set in DB +my $my_suggestionid_test_budgetid = NewSuggestion($my_suggestion); +$suggestion = GetSuggestion($my_suggestionid_test_budgetid); +is( $suggestion->{budgetid}, undef, 'NewSuggestion Should set budgetid to NULL if equals an empty string' ); -done_testing; +$my_suggestion->{budgetid} = ''; # If budgetid == '', NULL should be set in DB +ModSuggestion( $my_suggestion ); +$suggestion = GetSuggestion($my_suggestionid_test_budgetid); +is( $suggestion->{budgetid}, undef, 'NewSuggestion Should set budgetid to NULL if equals an empty string' ); -- 2.39.5