Bug 5287: (RM follow-up) Make tests basket compatible
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 25 Jun 2019 15:19:43 +0000 (16:19 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 25 Jun 2019 15:23:16 +0000 (16:23 +0100)
The selenium tests for addtobasket/removefrombasket started to fail
after the introduction of bug 5287. It turns out that a selenium click
handler will trigger a scroll event if the element you're trying to
click isn't in the view port. Unfortunately it scrolls the viewport just
enough for the element to come on screen but that also triggers the
floating toolbar in this case which ends up floating directly over the
element we want to 'click' and so the click rightfully fails as the
element is not 'clickable'.

This patch works around the issue by setting the window size to being a
HD screen in portrait orientation and therefore negates the need for
scrolling to put the elements in within the viewport.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

t/db_dependent/selenium/regressions.t

index ad1a6ed..090ae2d 100644 (file)
@@ -70,6 +70,10 @@ subtest 'OPAC - borrowernumber and branchcode as html attributes' => sub {
 
 subtest 'OPAC - Remove from cart' => sub {
     plan tests => 4;
+   
+    # We need to prevent scrolling to prevent the floating toolbar from overlapping buttons we are testing
+    my $window_size = $driver->get_window_size();
+    $driver->set_window_size(1920,1080);
 
     $driver->get( $opac_base_url . "opac-search.pl?q=d" );
 
@@ -99,6 +103,9 @@ subtest 'OPAC - Remove from cart' => sub {
     $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' );
+
+    # Reset window size
+    $driver->set_window_size($window_size->{'height'}, $window_size->{'width'});
 };
 
 subtest 'Play sound on the circulation page' => sub {