From 78cb924b12220fd5b81e4f62366006a35b9fefb7 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 15 Dec 2021 08:24:16 +0100 Subject: [PATCH] Bug 29690: Add selenium test Run prove t/db_dependent/selenium/regressions.t on KTD with selenium Signed-off-by: Tomas Cohen Arazi Signed-off-by: Fridolin Somers Signed-off-by: Martin Renvoize Signed-off-by: Fridolin Somers --- t/db_dependent/selenium/regressions.t | 36 ++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/selenium/regressions.t b/t/db_dependent/selenium/regressions.t index aa7717f806..1ed7062757 100755 --- a/t/db_dependent/selenium/regressions.t +++ b/t/db_dependent/selenium/regressions.t @@ -20,7 +20,7 @@ use utf8; use C4::Context; -use Test::More tests => 7; +use Test::More tests => 8; use Test::MockModule; use C4::Context; @@ -91,6 +91,40 @@ subtest 'OPAC - Bibliographic record detail page must contain the data-biblionum push @cleanup, $biblio; }; +subtest 'Bibliographic record detail page must not explode even with invalid metadata' => sub { + plan tests => 2; + + 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 . q|?logout.x=1|); + like( $driver->get_title(), qr(Log in to Koha), ); + $s->auth; + + my ( $biblionumber, $biblioitemnumber ) = add_biblio(); + my $biblio = Koha::Biblios->find($biblionumber); + + # Note that there are several "non xml chars" in the control fields + my $invalid_data = qq{ + + 00772nam0a2200277 4500 + 00aD000015937 + 00satmrnu0 + 00ar19881981bdkldan + }; + $biblio->metadata->metadata($invalid_data)->store(); + + $driver->get( $base_url . "/catalogue/detail.pl?biblionumber=$biblionumber" ); + + my $biberror = $driver->find_element('//span[@class="biberror"]')->get_text(); + is( $biberror, "There is an error with this bibliographic record, the view may be degraded."); + push @cleanup, $biblio; +}; + subtest 'Play sound on the circulation page' => sub { plan tests => 1;