From e8346c5c5616b1e0ee6cb0a3e8b329ee103b8a70 Mon Sep 17 00:00:00 2001 From: Nick Clemens <nick@bywatersolutions.com> Date: Fri, 14 Feb 2020 15:15:10 +0000 Subject: [PATCH] Bug 23102: Selenium test --- t/db_dependent/selenium/regressions.t | 39 ++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/selenium/regressions.t b/t/db_dependent/selenium/regressions.t index 97a3fa761b6..3ac80ad0be2 100755 --- a/t/db_dependent/selenium/regressions.t +++ b/t/db_dependent/selenium/regressions.t @@ -36,7 +36,7 @@ eval { require Selenium::Remote::Driver; }; if ( $@ ) { plan skip_all => "Selenium::Remote::Driver is needed for selenium tests."; } else { - plan tests => 8; + plan tests => 9; } my $s = t::lib::Selenium->new; @@ -54,6 +54,43 @@ my $AudioAlerts_value = C4::Context->preference('AudioAlerts'); C4::Context->set_preference('AudioAlerts', '1'); our @cleanup; + +subtest 'SCI can load error pages' => sub { + plan tests => 1; + + my $builder = t::lib::TestBuilder->new; + my $patron = $builder->build_object( { class => 'Koha::Patrons', value => { flags => 0 } } ); + t::lib::Mocks::mock_preference( 'RequireStrongPassword', 0 ); + my $password = Koha::AuthUtils::generate_password( $patron->category ); + $patron->set_password( { password => $password } ); + + my $dbh = C4::Context->dbh(); + my $sth = $dbh->prepare( + "INSERT INTO user_permissions (borrowernumber, module_bit, code) VALUES ( ?, 23,'self_checkin_module')"); + $sth->execute( $patron->borrowernumber ); + + my $sci_mo = C4::Context->preference('SelfCheckInModule'); + my $sci_js = C4::Context->preference('SelfCheckInUserJS'); + C4::Context->set_preference( + 'SelfCheckInUserJS', + '</script><img src="' . $s->opac_base_url . '/silk/famfamfam.png"/><script>' + ); + C4::Context->set_preference( 'SelfCheckInModule', '1' ); + + my $sci_module = $s->opac_base_url . qq|sci/sci-main.pl|; + $driver->get($sci_module); + $s->fill_form( { userid => $patron->userid, password => $password } ); + $s->driver->find_element('//form[@id="auth"]//input[@type="submit"]')->click; + $s->fill_form( { barcode_input => "DONTMATTER" } ); + $s->driver->find_element('//form[@id="scan_form"]//button[@id="sci_append_button"]')->click; + $s->driver->find_element('//form[@id="scan_form"]//button[@id="sci_checkin_button"]')->click; + like( $driver->get_title(), qr(Self check-in), ); + + C4::Context->set_preference( 'SelfCheckInUserJS', $sci_js ); + C4::Context->set_preference( 'SelfCheckInModule', $sci_mo ); + push @cleanup, $patron, $patron->category, $patron->library; +}; + subtest 'OPAC - borrowernumber, branchcode and categorycode as html attributes' => sub { plan tests => 3; -- 2.30.2