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

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

Return to bug 37334