Bug 39727: Remove DelSuggestionsOlderThan from C4/Suggestions.pm
To test: Test the cronjob purge_suggestions.pl Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
This commit is contained in:
parent
b2505f31c3
commit
d294b2ce2a
|
|
@ -27,7 +27,6 @@ BEGIN {
|
|||
GetSuggestion
|
||||
ModStatus
|
||||
ModSuggestion
|
||||
DelSuggestionsOlderThan
|
||||
GetUnprocessedSuggestions
|
||||
MarcRecordFromNewSuggestion
|
||||
);
|
||||
|
|
@ -178,28 +177,6 @@ sub DelSuggestion {
|
|||
}
|
||||
}
|
||||
|
||||
=head2 DelSuggestionsOlderThan
|
||||
&DelSuggestionsOlderThan($days)
|
||||
|
||||
Delete all suggestions older than TODAY-$days , that have be accepted or rejected.
|
||||
We do now allow a negative number. If you want to delete all suggestions, just use Koha::Suggestions->delete or so.
|
||||
|
||||
=cut
|
||||
|
||||
sub DelSuggestionsOlderThan {
|
||||
my ($days) = @_;
|
||||
return unless $days && $days > 0;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $sth = $dbh->prepare(
|
||||
q{
|
||||
DELETE FROM suggestions
|
||||
WHERE STATUS<>'ASKED'
|
||||
AND manageddate < ADDDATE(NOW(), ?)
|
||||
}
|
||||
);
|
||||
$sth->execute("-$days");
|
||||
}
|
||||
|
||||
=head2 GetUnprocessedSuggestions
|
||||
|
||||
Missing POD for GetUnprocessedSuggestions.
|
||||
|
|
|
|||
|
|
@ -63,7 +63,12 @@ if ( !$confirm || $help || !defined($days) ) {
|
|||
print $usage;
|
||||
} elsif ( $days and $days > 0 ) {
|
||||
print "Purging suggestions older than $days days\n" if $verbose;
|
||||
DelSuggestionsOlderThan($days);
|
||||
Koha::Suggestions->search( { STATUS => { '!=' => 'ASKED' } } )->filter_by_last_update(
|
||||
{
|
||||
days => $days,
|
||||
timestamp_column_name => 'manageddate',
|
||||
}
|
||||
)->delete;
|
||||
} else {
|
||||
warn "This script requires a positive number of days. Aborted.\n";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ use Modern::Perl;
|
|||
|
||||
use DateTime::Duration;
|
||||
use Test::NoWarnings;
|
||||
use Test::More tests => 50;
|
||||
use Test::More tests => 49;
|
||||
use Test::Warn;
|
||||
|
||||
use t::lib::Mocks;
|
||||
|
|
@ -38,7 +38,7 @@ use Koha::Suggestions;
|
|||
BEGIN {
|
||||
use_ok(
|
||||
'C4::Suggestions',
|
||||
qw( ModSuggestion DelSuggestion MarcRecordFromNewSuggestion GetUnprocessedSuggestions DelSuggestionsOlderThan )
|
||||
qw( ModSuggestion DelSuggestion MarcRecordFromNewSuggestion GetUnprocessedSuggestions )
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -423,44 +423,6 @@ subtest 'GetUnprocessedSuggestions' => sub {
|
|||
);
|
||||
};
|
||||
|
||||
subtest 'DelSuggestionsOlderThan' => sub {
|
||||
plan tests => 6;
|
||||
|
||||
Koha::Suggestions->delete;
|
||||
|
||||
# Add four suggestions; note that STATUS needs uppercase (FIXME)
|
||||
my $d1 = output_pref( { dt => dt_from_string->add( days => -2 ), dateformat => 'sql' } );
|
||||
my $d2 = output_pref( { dt => dt_from_string->add( days => -4 ), dateformat => 'sql' } );
|
||||
my $sugg01 =
|
||||
$builder->build( { source => 'Suggestion', value => { manageddate => $d1, date => $d2, STATUS => 'ASKED' } } );
|
||||
my $sugg02 = $builder->build(
|
||||
{ source => 'Suggestion', value => { manageddate => $d1, date => $d2, STATUS => 'CHECKED' } } );
|
||||
my $sugg03 =
|
||||
$builder->build( { source => 'Suggestion', value => { manageddate => $d2, date => $d2, STATUS => 'ASKED' } } );
|
||||
my $sugg04 = $builder->build(
|
||||
{ source => 'Suggestion', value => { manageddate => $d2, date => $d2, STATUS => 'ACCEPTED' } } );
|
||||
|
||||
# Test no parameter: should do nothing
|
||||
C4::Suggestions::DelSuggestionsOlderThan();
|
||||
is( Koha::Suggestions->count, 4, 'No suggestions deleted' );
|
||||
|
||||
# Test zero: should do nothing too
|
||||
C4::Suggestions::DelSuggestionsOlderThan(0);
|
||||
is( Koha::Suggestions->count, 4, 'No suggestions deleted again' );
|
||||
|
||||
# Test negative value
|
||||
C4::Suggestions::DelSuggestionsOlderThan(-1);
|
||||
is( Koha::Suggestions->count, 4, 'No suggestions deleted for -1' );
|
||||
|
||||
# Test positive values
|
||||
C4::Suggestions::DelSuggestionsOlderThan(5);
|
||||
is( Koha::Suggestions->count, 4, 'No suggestions>5d deleted' );
|
||||
C4::Suggestions::DelSuggestionsOlderThan(3);
|
||||
is( Koha::Suggestions->count, 3, '1 suggestions>3d deleted' );
|
||||
C4::Suggestions::DelSuggestionsOlderThan(1);
|
||||
is( Koha::Suggestions->count, 2, '1 suggestions>1d deleted' );
|
||||
};
|
||||
|
||||
subtest 'EmailPurchaseSuggestions' => sub {
|
||||
plan tests => 13;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue