Bug 21479: Add regression tests
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 9 Oct 2018 16:30:54 +0000 (13:30 -0300)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 12 Oct 2018 18:39:46 +0000 (15:39 -0300)
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
t/db_dependent/selenium/regressions.t

index 5ea6d22..fcef28b 100644 (file)
@@ -19,7 +19,7 @@ use Modern::Perl;
 
 use C4::Context;
 
-use Test::More tests => 1;
+use Test::More tests => 2;
 
 use Koha::AuthUtils;
 use t::lib::Selenium;
@@ -31,7 +31,7 @@ skip "Selenium::Remote::Driver is needed for selenium tests.", 1 if $@;
 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;
@@ -55,6 +55,37 @@ subtest 'OPAC - borrowernumber and branchcode as html attributes' => sub {
     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;
 };