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

(-)a/t/db_dependent/Koha/Items.t (-2 / +130 lines)
Lines 19-25 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 26;
22
use Test::More tests => 27;
23
23
24
use Test::MockModule;
24
use Test::MockModule;
25
use Test::Exception;
25
use Test::Exception;
Lines 69-74 is( Koha::Items->search->count, $nb_of_items + 2, 'The 2 items should have been Link Here
69
my $retrieved_item_1 = Koha::Items->find( $new_item_1->itemnumber );
69
my $retrieved_item_1 = Koha::Items->find( $new_item_1->itemnumber );
70
is( $retrieved_item_1->barcode, $new_item_1->barcode, 'Find a item by id should return the correct item' );
70
is( $retrieved_item_1->barcode, $new_item_1->barcode, 'Find a item by id should return the correct item' );
71
71
72
subtest 'search' => sub {
73
74
    plan tests => 9;
75
    $schema->storage->txn_begin;
76
77
    my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
78
    my $patron_2 = $builder->build_object( { class => 'Koha::Patrons' } );
79
    t::lib::Mocks::mock_userenv( { branchcode => $patron->branchcode } );
80
81
    my $library_1 = $builder->build( { source => 'Branch' } );
82
    my $library_2 = $builder->build( { source => 'Branch' } );
83
84
    my $biblio = $builder->build_sample_biblio();
85
86
    my $item_1 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, });
87
    my $item_2 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, });
88
89
    my $available_items = Koha::Items->search({
90
        _status => 'available',
91
        biblionumber => $biblio->biblionumber,
92
    });
93
94
    ok($available_items->count == 2, "Filtered to 2 available items");
95
96
    my $item_3 = $builder->build_sample_item({
97
        biblionumber => $biblio->biblionumber,
98
        itemlost => 1,
99
    });
100
101
    my $item_4 = $builder->build_sample_item({
102
        biblionumber => $biblio->biblionumber,
103
        damaged => 1,
104
    });
105
106
    my $item_5 = $builder->build_sample_item({
107
        biblionumber => $biblio->biblionumber,
108
        withdrawn => 1,
109
    });
110
111
    my $item_6 = $builder->build_sample_item({
112
        biblionumber => $biblio->biblionumber,
113
        notforloan => 1,
114
    });
115
116
    my $lost_items = Koha::Items->search({
117
        _status => 'lost',
118
        biblionumber => $biblio->biblionumber,
119
    });
120
121
    my $damaged_items = Koha::Items->search({
122
        _status => 'damaged',
123
        biblionumber => $biblio->biblionumber,
124
    });
125
126
    my $withdrawn_items = Koha::Items->search({
127
        _status => 'withdrawn',
128
        biblionumber => $biblio->biblionumber,
129
    });
130
131
    my $notforloan_items = Koha::Items->search({
132
        _status => 'not_for_loan',
133
        biblionumber => $biblio->biblionumber,
134
    });
135
136
    ok($lost_items->count == 1, "Filtered to 1 lost item");
137
    ok($damaged_items->count == 1, "Filtered to 1 damaged item");
138
    ok($withdrawn_items->count == 1, "Filtered to 1 withdrawn item");
139
    ok($notforloan_items->count == 1, "Filtered to 1 notforloan item");
140
141
    C4::Circulation::AddIssue( $patron, $item_1->barcode );
142
143
    my $checked_out_items = Koha::Items->search({
144
        _status => 'checked_out',
145
        biblionumber => $biblio->biblionumber,
146
    });
147
148
    ok($checked_out_items->count == 1, "Filtered to 1 checked out item");
149
150
    my $transfer_1 = $builder->build_object(
151
        {
152
            class => 'Koha::Item::Transfers',
153
            value => {
154
                itemnumber    => $item_2->itemnumber,
155
                frombranch    => $library_1->{branchcode},
156
                tobranch      => $library_2->{branchcode},
157
            }
158
        }
159
    );
160
161
    my $in_transit_items = Koha::Items->search({
162
        _status => 'in_transit',
163
        biblionumber => $biblio->biblionumber,
164
    });
165
166
    ok($in_transit_items->count == 1, "Filtered to 1 in transit item");
167
168
    my $item_7 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber, });
169
170
    my $hold_1 = $builder->build(
171
        {
172
            source => 'Reserve',
173
            value  => {
174
                itemnumber => $item_7->itemnumber, reservedate => dt_from_string,
175
            }
176
        }
177
    );
178
179
    my $on_hold_items = Koha::Items->search({
180
        _status => 'on_hold',
181
        biblionumber => $biblio->biblionumber,
182
    });
183
184
    ok($on_hold_items->count == 1, "Filtered to 1 on hold item");
185
186
    my $item_8 = $builder->build_sample_item({
187
        biblionumber => $biblio->biblionumber,
188
        restricted => 1,
189
    });
190
191
    my $restricted_items = Koha::Items->search({
192
        _status => 'restricted',
193
        biblionumber => $biblio->biblionumber,
194
    });
195
196
    ok($restricted_items->count == 1, "Filtered to 1 restricted item");
197
198
    $schema->storage->txn_rollback;
199
};
200
72
subtest 'store' => sub {
201
subtest 'store' => sub {
73
    plan tests => 8;
202
    plan tests => 8;
74
203
75
- 

Return to bug 37334