View | Details | Raw Unified | Return to bug 20212
Collapse All | Expand All

(-)a/t/db_dependent/api/v1/acquisitions_orders.t (-3 / +33 lines)
Lines 24-29 use Test::Warn; Link Here
24
use t::lib::TestBuilder;
24
use t::lib::TestBuilder;
25
use t::lib::Mocks;
25
use t::lib::Mocks;
26
26
27
use JSON qw( encode_json );
28
27
use Koha::Acquisition::Orders;
29
use Koha::Acquisition::Orders;
28
use Koha::Database;
30
use Koha::Database;
29
31
Lines 35-41 t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 ); Link Here
35
my $t = Test::Mojo->new('Koha::REST::V1');
37
my $t = Test::Mojo->new('Koha::REST::V1');
36
38
37
subtest 'list() tests' => sub {
39
subtest 'list() tests' => sub {
38
    plan tests => 8;
40
    plan tests => 18;
39
41
40
    $schema->storage->txn_begin;
42
    $schema->storage->txn_begin;
41
43
Lines 48-58 subtest 'list() tests' => sub { Link Here
48
    my $userid = $patron->userid;
50
    my $userid = $patron->userid;
49
51
50
    my $basket = $builder->build_object({ class => 'Koha::Acquisition::Baskets' });
52
    my $basket = $builder->build_object({ class => 'Koha::Acquisition::Baskets' });
53
54
    my $biblio = $builder->build_sample_biblio;
55
    my $biblioitem = $biblio->biblioitem;
56
    $biblioitem->set({ isbn => 'SOMETHING' })->store;
57
51
    # Create test context
58
    # Create test context
52
    my $order = $builder->build_object(
59
    my $order = $builder->build_object(
53
        {
60
        {
54
            class => 'Koha::Acquisition::Orders',
61
            class => 'Koha::Acquisition::Orders',
55
            value => { basketno => $basket->basketno, orderstatus => 'new' }
62
            value => {
63
                basketno     => $basket->basketno,
64
                orderstatus  => 'new',
65
                biblionumber => $biblio->biblionumber
66
            }
56
        }
67
        }
57
    );
68
    );
58
    my $another_order = $order->unblessed; # create a copy of $order but make
69
    my $another_order = $order->unblessed; # create a copy of $order but make
Lines 98-103 subtest 'list() tests' => sub { Link Here
98
        }
109
        }
99
    };
110
    };
100
111
112
    my $query = { "biblio.isbn" => { "-like" => "\%SOMETHING\%" } };
113
114
    $t->get_ok( "//$userid:$password@/api/v1/acquisitions/orders?q=" . encode_json($query) => {'x-koha-embed' => 'biblio'} )
115
      ->status_is( 200, "Embeddig biblio.isbn doesn't make it explode" )
116
      ->json_has( "/0/biblio", "biblio object correctly embedded" )
117
      ->json_is( "/0/biblio/isbn", 'SOMETHING', 'Filtering by a biblioitems column works!' );
118
119
    my $result = $t->get_ok( "//$userid:$password@/api/v1/acquisitions/orders?biblio_id=" . $biblio->biblionumber )
120
      ->status_is( 200 );
121
122
    is( scalar @{ $result->tx->res->json}, 2, 'Two orders fetched' );
123
124
    # Mark $another_order as cancelled
125
    $another_order->set({ orderstatus => 'cancelled' })->store;
126
127
    $result = $t->get_ok( "//$userid:$password@/api/v1/acquisitions/orders?only_active=1&biblio_id=" . $biblio->biblionumber )
128
      ->status_is( 200, "only_active parameter accepted" );
129
130
    is( scalar @{ $result->tx->res->json}, 1, 'Only one order is active' );
131
101
    # Warn on unsupported query parameter
132
    # Warn on unsupported query parameter
102
    $t->get_ok( "//$userid:$password@/api/v1/acquisitions/orders?order_blah=blah" )
133
    $t->get_ok( "//$userid:$password@/api/v1/acquisitions/orders?order_blah=blah" )
103
      ->status_is(400)
134
      ->status_is(400)
104
- 

Return to bug 20212