Bug 21775: [18.05.x] Add selenium tests for audio alerts
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 6 Nov 2018 18:12:32 +0000 (15:12 -0300)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 16 Nov 2018 14:11:40 +0000 (14:11 +0000)
To prevent future regressions

(alternative to a58549422d6a100f0be4776fa48ebe43fb05e69b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

t/db_dependent/selenium/regressions.t

index 3cc62d1..8c95824 100644 (file)
@@ -19,9 +19,10 @@ use Modern::Perl;
 
 use C4::Context;
 
-use Test::More tests => 1;
+use Test::More tests => 2;
 
 use t::lib::Selenium;
+use t::lib::TestBuilder;
 
 eval { require Selenium::Remote::Driver; };
 skip "Selenium::Remote::Driver is needed for selenium tests.", 1 if $@;
@@ -30,11 +31,16 @@ my $s = t::lib::Selenium->new;
 
 my $driver = $s->driver;
 my $opac_base_url = $s->opac_base_url;
+my $base_url = $s->base_url;
 
 # It seems that we do not have enough records indexed with ES
 my $SearchEngine_value = C4::Context->preference('SearchEngine');
 C4::Context->set_preference('SearchEngine', 'Zebra');
 
+my $AudioAlerts_value = C4::Context->preference('AudioAlerts');
+C4::Context->set_preference('AudioAlerts', '1');
+
+my @data_to_cleanup;
 
 subtest 'OPAC - Remove from cart' => sub {
     plan tests => 4;
@@ -69,6 +75,26 @@ subtest 'OPAC - Remove from cart' => sub {
         2, '1 element should have been removed from the cart' );
 };
 
+subtest 'Play sound on the circulation page' => sub {
+    plan tests => 1;
+
+    my $builder  = t::lib::TestBuilder->new;
+    my $patron = $builder->build_object({ class => 'Koha::Patrons', value => { flags => 0 }});
+
+    my $mainpage = $s->base_url . q|mainpage.pl|;
+    $driver->get($mainpage);
+    like( $driver->get_title(), qr(Log in to Koha), );
+    $s->auth;
+
+    $driver->get( $base_url . "/circ/circulation.pl?borrowernumber=" . $patron->borrowernumber );
+
+    my $audio_node = $driver->find_element('//span[@id="audio-alert"]/audio[@src="/intranet-tmpl/prog/sound/beep.ogg"]');
+
+    push @data_to_cleanup, $patron, $patron->category, $patron->library;
+};
+
 END {
     C4::Context->preference('SearchEngine', $SearchEngine_value);
+    C4::Context->preference('AudioAlerts', $AudioAlerts_value);
+    $_->delete for @data_to_cleanup;
 };