require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
- approvereview unapprovereview deletereview);
+ deletereview);
}
=head1 NAME
return $sth->fetchrow;
}
-=head2 approvereview
-
- approvereview($reviewid);
-
-Takes a reviewid and marks that review approved
-
-=cut
-
-sub approvereview {
- my ($reviewid) = @_;
- my $dbh = C4::Context->dbh();
- my $query = "UPDATE reviews
- SET approved=?
- WHERE reviewid=?";
- my $sth = $dbh->prepare($query);
- $sth->execute( 1, $reviewid );
-}
-
-=head2 unapprovereview
-
- unapprovereview($reviewid);
-
-Takes a reviewid and marks that review as not approved
-
-=cut
-
-sub unapprovereview {
- my ($reviewid) = @_;
- my $dbh = C4::Context->dbh();
- my $query = "UPDATE reviews
- SET approved=?
- WHERE reviewid=?";
- my $sth = $dbh->prepare($query);
- $sth->execute( 0, $reviewid );
-}
-
=head2 deletereview
deletereview($reviewid);
my $total = numberofreviews($status);
if ( $op eq 'approve' ) {
- approvereview($reviewid);
+ my $review = Koha::Reviews->find( $reviewid );
+ $review->approve if $review;
}
elsif ( $op eq 'unapprove' ) {
- unapprovereview($reviewid);
+ my $review = Koha::Reviews->find( $reviewid );
+ $review->unapprove if $review;
}
elsif ( $op eq 'delete' ) {
deletereview($reviewid);
use Modern::Perl;
-use Test::More tests => 4;
+use Test::More tests => 7;
use Koha::Review;
use Koha::Reviews;
my $biblio_1 = $builder->build({ source => 'Biblio' });
my $biblio_2 = $builder->build({ source => 'Biblio' });
my $nb_of_reviews = Koha::Reviews->search->count;
+my $nb_of_approved_reviews = Koha::Reviews->search({ approved => 1 })->count;
my $new_review_1_1 = Koha::Review->new({
borrowernumber => $patron_1->{borrowernumber},
biblionumber => $biblio_1->{biblionumber},
like( $new_review_1_1->reviewid, qr|^\d+$|, 'Adding a new review should have set the reviewid');
is( Koha::Reviews->search->count, $nb_of_reviews + 3, 'The 3 reviews should have been added' );
+is( Koha::Reviews->search({approved => 1})->count, $nb_of_approved_reviews, 'There should not be new approved reviews' );
+$new_review_1_1->approve;
+is( Koha::Reviews->search({approved => 1})->count, $nb_of_approved_reviews + 1, 'There should be 1 new approved review' );
+$new_review_1_1->unapprove;
+is( Koha::Reviews->search({approved => 1})->count, $nb_of_approved_reviews, 'There should not be any new approved review anymore' );
+
my $retrieved_review_1_1 = Koha::Reviews->find( $new_review_1_1->reviewid );
is( $retrieved_review_1_1->review, $new_review_1_1->review, 'Find a review by id should return the correct review' );