From 87807ea5c3cbae5b32305cc556945f64b2d0a9e6 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 1 May 2024 15:47:47 +0100 Subject: [PATCH] Bug 36120: (QA follow-up) Fix api/v1/bookings.t We now require pickup_library_id and so need to update the unit tests to reflect that for our sample bookings Signed-off-by: Nick Clemens Signed-off-by: Katrin Fischer --- t/db_dependent/api/v1/bookings.t | 58 ++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/t/db_dependent/api/v1/bookings.t b/t/db_dependent/api/v1/bookings.t index 8ede614153..97f2c20261 100755 --- a/t/db_dependent/api/v1/bookings.t +++ b/t/db_dependent/api/v1/bookings.t @@ -223,15 +223,17 @@ subtest 'add() tests' => sub { $patron->set_password( { password => $password, skip_validation => 1 } ); my $unauth_userid = $patron->userid; - my $biblio = $builder->build_sample_biblio; - my $item1 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); - my $item2 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); - my $booking = { - biblio_id => $biblio->id, - item_id => undef, - patron_id => $patron->id, - start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), - end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), + my $biblio = $builder->build_sample_biblio; + my $item1 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); + my $item2 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); + my $pickup_library = $builder->build_object( { class => 'Koha::Libraries' } ); + my $booking = { + biblio_id => $biblio->id, + item_id => undef, + pickup_library_id => $pickup_library->branchcode, + patron_id => $patron->id, + start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), + end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), }; # Unauthorized attempt to write @@ -314,15 +316,17 @@ subtest 'update() tests' => sub { "//$unauth_userid:$password@/api/v1/bookings/$booking_id" => json => { name => 'New unauthorized name change' } )->status_is(403); - my $biblio = $builder->build_sample_biblio; - my $item = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); + my $biblio = $builder->build_sample_biblio; + my $item = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); + my $pickup_library = $builder->build_object( { class => 'Koha::Libraries' } ); # Attempt partial update on a PUT my $booking_with_missing_field = { - item_id => undef, - patron_id => $patron->id, - start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), - end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), + item_id => undef, + patron_id => $patron->id, + pickup_library_id => $pickup_library->branchcode, + start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), + end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), }; $t->put_ok( "//$userid:$password@/api/v1/bookings/$booking_id" => json => $booking_with_missing_field ) @@ -330,11 +334,12 @@ subtest 'update() tests' => sub { # Full object update on PUT my $booking_with_updated_field = { - biblio_id => $biblio->id, - item_id => undef, - patron_id => $patron->id, - start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), - end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), + biblio_id => $biblio->id, + item_id => undef, + pickup_library_id => $pickup_library->branchcode, + patron_id => $patron->id, + start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), + end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), }; $t->put_ok( "//$userid:$password@/api/v1/bookings/$booking_id" => json => $booking_with_updated_field ) @@ -342,12 +347,13 @@ subtest 'update() tests' => sub { # Authorized attempt to write invalid data my $booking_with_invalid_field = { - blah => "Booking Blah", - biblio_id => $biblio->id, - item_id => undef, - patron_id => $patron->id, - start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), - end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), + blah => "Booking Blah", + biblio_id => $biblio->id, + item_id => undef, + pickup_library_id => $pickup_library->branchcode, + patron_id => $patron->id, + start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), + end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), }; $t->put_ok( "//$userid:$password@/api/v1/bookings/$booking_id" => json => $booking_with_invalid_field ) -- 2.39.5