From a0df2d5ea3d844320debda9e4762a11c7ce6734a Mon Sep 17 00:00:00 2001 From: tonnesen Date: Thu, 24 Oct 2002 04:12:10 +0000 Subject: [PATCH] Added a couple of tests. --- C4/Shelf.pm | 20 +++++++++++++++++++- t/Shelf.t | 23 +++++++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/C4/Shelf.pm b/C4/Shelf.pm index 2f1bd6bdf6..84cda47aa2 100644 --- a/C4/Shelf.pm +++ b/C4/Shelf.pm @@ -247,6 +247,23 @@ sub bibliocontents { return \@return; } + +=head2 C + +returns the number of items on the shelf + + my $itemcount=$shelf->itemcounter(); + +=cut +sub itemcounter { + my $self=shift; + unless ($self->{ITEMCONTENTS}->{orderby}->{'natural'}) { + $self->loadcontents(); + } + my @temparray=@{$self->{ITEMCONTENTS}->{orderby}->{'natural'}}; + return $#temparray+1; +} + sub shelfcontents { my $self=shift; } @@ -341,7 +358,7 @@ sub attribute { my $sti=$dbh->prepare("update bookshelfattributes set value=? where bookshelfid=? and attribute=?"); $sti->execute($value, $self->{ID}, $attribute); } else { - my $sti=$dbh->prepare("inesrt into bookshelfattributes (bookshelfid, attribute, value) values (?, ?, ?)"); + my $sti=$dbh->prepare("insert into bookshelfattributes (bookshelfid, attribute, value) values (?, ?, ?)"); $sti->execute($self->{ID}, $attribute, $value); } } @@ -408,6 +425,7 @@ sub loadcontents { ($orderby,$startat,$number)=@_; } my $bookshelfid=$self->{ID}; + ($orderby) || ($orderby='natural'); $self->{ITEMCONTENTS}->{orderby}->{$orderby}=$self->{CACHE}->get( "$bookshelfid\_ITEMCONTENTS_$orderby" ); $self->{BIBLIOITEMCONTENTS}->{orderby}->{$orderby}=$self->{CACHE}->get( "$bookshelfid\_BIBLIOITEMCONTENTS_$orderby" ); $self->{BIBLIOCONTENTS}->{orderby}->{$orderby}=$self->{CACHE}->get( "$bookshelfid\_BIBLIOCONTENTS_$orderby" ); diff --git a/t/Shelf.t b/t/Shelf.t index 8a14b9b950..0fcf0ac619 100644 --- a/t/Shelf.t +++ b/t/Shelf.t @@ -36,12 +36,31 @@ if (defined $shelf) { } -# Add an item to a shelf +# Add some items to the shelves -for ($i=1; $i<20; $i++) { +for ($i=0; $i<20; $i++) { $shelf->addtoshelf( -add => [[ $$itemdata[$i]->{biblionumber}, $$itemdata[$i]->{biblioitemnumber}, $$itemdata[$i]->{itemnumber} ]]); } +for ($i=20; $i<30; $i++) { + $shelf2->addtoshelf( -add => [[ $$itemdata[$i]->{biblionumber}, + $$itemdata[$i]->{biblioitemnumber}, + $$itemdata[$i]->{itemnumber} ]]); +} +if ($shelf->itemcounter() == 20 && $shelf2->itemcounter() == 10 ) { + print "ok 4\n"; +} else { + print "not ok 4\n"; +} + +$shelf->attribute('testattribute1', 'testvalue1'); +$shelf->attribute('testattribute2', 'testvalue2'); + +if ($shelf->attribute('testattribute1') eq 'testvalue1' && $shelf->attribute('testattribute2') eq 'testvalue2') { + print "ok 5\n"; +} else { + print "not ok 5\n"; +} -- 2.39.2