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 <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Martin Renvoize 2024-05-01 15:47:47 +01:00 committed by Katrin Fischer
parent 687a8b70b3
commit 87807ea5c3
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -223,15 +223,17 @@ subtest 'add() tests' => sub {
$patron->set_password( { password => $password, skip_validation => 1 } ); $patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid; my $unauth_userid = $patron->userid;
my $biblio = $builder->build_sample_biblio; my $biblio = $builder->build_sample_biblio;
my $item1 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); my $item1 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } );
my $item2 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); my $item2 = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } );
my $booking = { my $pickup_library = $builder->build_object( { class => 'Koha::Libraries' } );
biblio_id => $biblio->id, my $booking = {
item_id => undef, biblio_id => $biblio->id,
patron_id => $patron->id, item_id => undef,
start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), pickup_library_id => $pickup_library->branchcode,
end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), 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 # 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' } "//$unauth_userid:$password@/api/v1/bookings/$booking_id" => json => { name => 'New unauthorized name change' }
)->status_is(403); )->status_is(403);
my $biblio = $builder->build_sample_biblio; my $biblio = $builder->build_sample_biblio;
my $item = $builder->build_sample_item( { bookable => 1, biblionumber => $biblio->id } ); 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 # Attempt partial update on a PUT
my $booking_with_missing_field = { my $booking_with_missing_field = {
item_id => undef, item_id => undef,
patron_id => $patron->id, patron_id => $patron->id,
start_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 2 ) } ), pickup_library_id => $pickup_library->branchcode,
end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), 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 ) $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 # Full object update on PUT
my $booking_with_updated_field = { my $booking_with_updated_field = {
biblio_id => $biblio->id, biblio_id => $biblio->id,
item_id => undef, 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 ) } ), patron_id => $patron->id,
end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), 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 ) $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 # Authorized attempt to write invalid data
my $booking_with_invalid_field = { my $booking_with_invalid_field = {
blah => "Booking Blah", blah => "Booking Blah",
biblio_id => $biblio->id, biblio_id => $biblio->id,
item_id => undef, 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 ) } ), patron_id => $patron->id,
end_date => output_pref( { dateformat => "rfc3339", dt => dt_from_string->add( days => 6 ) } ), 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 ) $t->put_ok( "//$userid:$password@/api/v1/bookings/$booking_id" => json => $booking_with_invalid_field )