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

(-)a/t/db_dependent/api/v1/acquisitions_baskets.t (-1 / +51 lines)
Lines 18-24 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::NoWarnings;
20
use Test::NoWarnings;
21
use Test::More tests => 3;
21
use Test::More tests => 4;
22
use Test::Mojo;
22
use Test::Mojo;
23
23
24
use t::lib::TestBuilder;
24
use t::lib::TestBuilder;
Lines 97-99 subtest 'list() tests' => sub { Link Here
97
97
98
    $schema->storage->txn_rollback;
98
    $schema->storage->txn_rollback;
99
};
99
};
100
101
subtest 'add() tests' => sub {
102
103
    plan tests => 14;
104
105
    $schema->storage->txn_begin;
106
107
    my $vendor = $builder->build_object(
108
        {
109
            class => 'Koha::Acquisition::Booksellers',
110
        }
111
    );
112
    my $patron = $builder->build_object(
113
        {
114
            class => 'Koha::Patrons',
115
            value => { flags => 0 }
116
        }
117
    );
118
    my $password = 'thePassword123';
119
    $patron->set_password( { password => $password, skip_validation => 1 } );
120
    my $userid = $patron->userid;
121
122
    my $url = "//$userid:$password@/api/v1/acquisitions/baskets";
123
124
    $t->post_ok( $url, json => {} )->status_is(403);
125
126
    $schema->resultset('UserPermission')->create(
127
        {
128
            borrowernumber => $patron->borrowernumber,
129
            module_bit     => 11,
130
            code           => 'order_manage',
131
        }
132
    );
133
134
    $t->post_ok( $url, json => {} )->status_is(400);
135
136
    $t->post_ok( $url, json => { vendor_id => $vendor->id } )->status_is(201)->json_has('/basket_id')
137
        ->json_is( '/vendor_id', $vendor->id );
138
139
    my $basket = {
140
        vendor_id   => $vendor->id,
141
        name        => 'Basket #1',
142
        vendor_note => 'Vendor note',
143
    };
144
    $t->post_ok( $url, json => $basket )->status_is(201)->json_has('/basket_id')
145
        ->json_is( '/vendor_id',   $basket->{vendor_id} )->json_is( '/name', $basket->{name} )
146
        ->json_is( '/vendor_note', $basket->{vendor_note} );
147
148
    $schema->storage->txn_rollback;
149
};
(-)a/t/db_dependent/api/v1/acquisitions_baskets/post.t (-69 lines)
Lines 1-68 Link Here
1
#!/usr/bin/env perl
2
3
use Modern::Perl;
4
5
use Test::More tests => 14;
6
use Test::Mojo;
7
8
use t::lib::Mocks;
9
use t::lib::TestBuilder;
10
11
my $schema  = Koha::Database->new->schema;
12
my $builder = t::lib::TestBuilder->new;
13
14
t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 );
15
16
my $t = Test::Mojo->new('Koha::REST::V1');
17
18
$schema->storage->txn_begin;
19
20
my $bookseller = $builder->build_object(
21
    {
22
        class => 'Koha::Acquisition::Booksellers',
23
    }
24
);
25
my $patron = $builder->build_object(
26
    {
27
        class => 'Koha::Patrons',
28
        value => { flags => 0 }
29
    }
30
);
31
my $password = 'thePassword123';
32
$patron->set_password( { password => $password, skip_validation => 1 } );
33
my $userid = $patron->userid;
34
35
my $url = "//$userid:$password@/api/v1/acquisitions/baskets";
36
37
$t->post_ok($url, json => {})
38
  ->status_is(403);
39
40
$schema->resultset('UserPermission')->create(
41
    {
42
        borrowernumber => $patron->borrowernumber,
43
        module_bit => 11,
44
        code => 'order_manage',
45
    }
46
);
47
48
$t->post_ok($url, json => {})
49
  ->status_is(400);
50
51
$t->post_ok($url, json => { vendor_id => $bookseller->id })
52
  ->status_is(201)
53
  ->json_has('/basket_id')
54
  ->json_is('/vendor_id', $bookseller->id);
55
56
my $basket = {
57
    vendor_id => $bookseller->id,
58
    name => 'Basket #1',
59
    vendor_note => 'Vendor note',
60
};
61
$t->post_ok($url, json => $basket)
62
  ->status_is(201)
63
  ->json_has('/basket_id')
64
  ->json_is('/vendor_id', $basket->{vendor_id})
65
  ->json_is('/name', $basket->{name})
66
  ->json_is('/vendor_note', $basket->{vendor_note});
67
68
$schema->storage->txn_rollback;
69
- 

Return to bug 29668