From b59a98122ec9162db5a8a735aa035027d3a1993f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 6 Jun 2025 12:05:14 -0300 Subject: [PATCH] Bug 29668: Move tests Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/api/v1/acquisitions_baskets.t | 52 +++++++++++++- .../api/v1/acquisitions_baskets/post.t | 68 ------------------- 2 files changed, 51 insertions(+), 69 deletions(-) delete mode 100755 t/db_dependent/api/v1/acquisitions_baskets/post.t diff --git a/t/db_dependent/api/v1/acquisitions_baskets.t b/t/db_dependent/api/v1/acquisitions_baskets.t index fa4c3e468f0..727930463bb 100755 --- a/t/db_dependent/api/v1/acquisitions_baskets.t +++ b/t/db_dependent/api/v1/acquisitions_baskets.t @@ -18,7 +18,7 @@ use Modern::Perl; use Test::NoWarnings; -use Test::More tests => 3; +use Test::More tests => 4; use Test::Mojo; use t::lib::TestBuilder; @@ -97,3 +97,53 @@ subtest 'list() tests' => sub { $schema->storage->txn_rollback; }; + +subtest 'add() tests' => sub { + + plan tests => 14; + + $schema->storage->txn_begin; + + my $vendor = $builder->build_object( + { + class => 'Koha::Acquisition::Booksellers', + } + ); + my $patron = $builder->build_object( + { + class => 'Koha::Patrons', + value => { flags => 0 } + } + ); + my $password = 'thePassword123'; + $patron->set_password( { password => $password, skip_validation => 1 } ); + my $userid = $patron->userid; + + my $url = "//$userid:$password@/api/v1/acquisitions/baskets"; + + $t->post_ok( $url, json => {} )->status_is(403); + + $schema->resultset('UserPermission')->create( + { + borrowernumber => $patron->borrowernumber, + module_bit => 11, + code => 'order_manage', + } + ); + + $t->post_ok( $url, json => {} )->status_is(400); + + $t->post_ok( $url, json => { vendor_id => $vendor->id } )->status_is(201)->json_has('/basket_id') + ->json_is( '/vendor_id', $vendor->id ); + + my $basket = { + vendor_id => $vendor->id, + name => 'Basket #1', + vendor_note => 'Vendor note', + }; + $t->post_ok( $url, json => $basket )->status_is(201)->json_has('/basket_id') + ->json_is( '/vendor_id', $basket->{vendor_id} )->json_is( '/name', $basket->{name} ) + ->json_is( '/vendor_note', $basket->{vendor_note} ); + + $schema->storage->txn_rollback; +}; diff --git a/t/db_dependent/api/v1/acquisitions_baskets/post.t b/t/db_dependent/api/v1/acquisitions_baskets/post.t deleted file mode 100755 index 8a7536d8822..00000000000 --- a/t/db_dependent/api/v1/acquisitions_baskets/post.t +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env perl - -use Modern::Perl; - -use Test::More tests => 14; -use Test::Mojo; - -use t::lib::Mocks; -use t::lib::TestBuilder; - -my $schema = Koha::Database->new->schema; -my $builder = t::lib::TestBuilder->new; - -t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 ); - -my $t = Test::Mojo->new('Koha::REST::V1'); - -$schema->storage->txn_begin; - -my $bookseller = $builder->build_object( - { - class => 'Koha::Acquisition::Booksellers', - } -); -my $patron = $builder->build_object( - { - class => 'Koha::Patrons', - value => { flags => 0 } - } -); -my $password = 'thePassword123'; -$patron->set_password( { password => $password, skip_validation => 1 } ); -my $userid = $patron->userid; - -my $url = "//$userid:$password@/api/v1/acquisitions/baskets"; - -$t->post_ok($url, json => {}) - ->status_is(403); - -$schema->resultset('UserPermission')->create( - { - borrowernumber => $patron->borrowernumber, - module_bit => 11, - code => 'order_manage', - } -); - -$t->post_ok($url, json => {}) - ->status_is(400); - -$t->post_ok($url, json => { vendor_id => $bookseller->id }) - ->status_is(201) - ->json_has('/basket_id') - ->json_is('/vendor_id', $bookseller->id); - -my $basket = { - vendor_id => $bookseller->id, - name => 'Basket #1', - vendor_note => 'Vendor note', -}; -$t->post_ok($url, json => $basket) - ->status_is(201) - ->json_has('/basket_id') - ->json_is('/vendor_id', $basket->{vendor_id}) - ->json_is('/name', $basket->{name}) - ->json_is('/vendor_note', $basket->{vendor_note}); - -$schema->storage->txn_rollback; -- 2.49.0