use C4::Context;
-use Test::More tests => 1;
+use Test::More tests => 2;
use Koha::AuthUtils;
use t::lib::Selenium;
my $s = t::lib::Selenium->new;
my $driver = $s->driver;
-my $base_url = $s->base_url;
+my $opac_base_url = $s->opac_base_url;
my $builder = t::lib::TestBuilder->new;
our @cleanup;
push @cleanup, $patron->library;
};
+subtest 'OPAC - Remove from cart' => sub {
+ plan tests => 4;
+
+ $driver->get( $opac_base_url . "opac-search.pl?q=d" );
+
+ my $basket_count_elt;
+ eval {
+ # FIXME This will produce a STRACE
+ # A better way to do that would be to modify the way we display the basket count
+ # We should show/hide the count instead or recreate the node
+ $basket_count_elt = $driver->find_element('//span[@id="basketcount"]/span')
+ };
+ like($@, qr{An element could not be located on the page}, 'Basket should be empty');
+
+ $driver->find_element('//a[@class="addtocart cart1"]')->click;
+ $basket_count_elt = $driver->find_element('//span[@id="basketcount"]/span');
+ is( $basket_count_elt->get_text(),
+ 1, 'One element should have been added to the cart' );
+
+ $driver->find_element('//a[@class="addtocart cart3"]')->click;
+ $driver->find_element('//a[@class="addtocart cart5"]')->click;
+ $basket_count_elt = $driver->find_element('//span[@id="basketcount"]/span');
+ is( $basket_count_elt->get_text(),
+ 3, '3 elements should have been added to the cart' );
+
+ $driver->find_element('//a[@class="cartRemove cartR3"]')->click;
+ $basket_count_elt = $driver->find_element('//span[@id="basketcount"]/span');
+ is( $basket_count_elt->get_text(),
+ 2, '1 element should have been removed from the cart' );
+};
+
END {
$_->delete for @cleanup;
};