|
Lines 92-154
subtest 'store' => sub {
Link Here
|
| 92 |
$item->delete; |
92 |
$item->delete; |
| 93 |
|
93 |
|
| 94 |
subtest 'permanent_location' => sub { |
94 |
subtest 'permanent_location' => sub { |
| 95 |
plan tests => 7; |
95 |
plan tests => 2; |
| 96 |
|
96 |
|
| 97 |
my $location = 'my_loc'; |
97 |
subtest 'location passed to ->store' => sub { |
| 98 |
my $attributes = { |
98 |
plan tests => 7; |
| 99 |
homebranch => $library->{branchcode}, |
99 |
|
| 100 |
holdingbranch => $library->{branchcode}, |
100 |
my $location = 'my_loc'; |
| 101 |
biblionumber => $biblio->biblionumber, |
101 |
my $attributes = { |
| 102 |
location => $location, |
102 |
homebranch => $library->{branchcode}, |
|
|
103 |
holdingbranch => $library->{branchcode}, |
| 104 |
biblionumber => $biblio->biblionumber, |
| 105 |
location => $location, |
| 106 |
}; |
| 107 |
|
| 108 |
{ |
| 109 |
# NewItemsDefaultLocation not set |
| 110 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', '' ); |
| 111 |
|
| 112 |
# Not passing permanent_location on creating the item |
| 113 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
| 114 |
is( $item->location, $location, |
| 115 |
'location must have been set to location if given' ); |
| 116 |
is( $item->permanent_location, $item->location, |
| 117 |
'permanent_location must have been set to location if not given' ); |
| 118 |
$item->delete; |
| 119 |
|
| 120 |
# Passing permanent_location on creating the item |
| 121 |
$item = Koha::Item->new( |
| 122 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
| 123 |
->store->get_from_storage; |
| 124 |
is( $item->permanent_location, 'perm_loc', |
| 125 |
'permanent_location must have been kept if given' ); |
| 126 |
$item->delete; |
| 127 |
} |
| 128 |
|
| 129 |
{ |
| 130 |
# NewItemsDefaultLocation set |
| 131 |
my $default_location = 'default_location'; |
| 132 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', $default_location ); |
| 133 |
|
| 134 |
# Not passing permanent_location on creating the item |
| 135 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
| 136 |
is( $item->location, $location, |
| 137 |
'location must have been kept if given' ); |
| 138 |
is( $item->permanent_location, $location, |
| 139 |
'permanent_location must have been set to the location given' ); |
| 140 |
$item->delete; |
| 141 |
|
| 142 |
# Passing permanent_location on creating the item |
| 143 |
$item = Koha::Item->new( |
| 144 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
| 145 |
->store->get_from_storage; |
| 146 |
is( $item->location, $location, |
| 147 |
'location must have been kept if given' ); |
| 148 |
is( $item->permanent_location, 'perm_loc', |
| 149 |
'permanent_location must have been kept if given' ); |
| 150 |
$item->delete; |
| 151 |
} |
| 103 |
}; |
152 |
}; |
| 104 |
|
153 |
|
| 105 |
{ |
154 |
subtest 'location NOT passed to ->store' => sub { |
| 106 |
# NewItemsDefaultLocation not set |
155 |
plan tests => 7; |
| 107 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', '' ); |
|
|
| 108 |
|
| 109 |
# Not passing permanent_location on creating the item |
| 110 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
| 111 |
is( $item->location, $location, |
| 112 |
'location must have been set to location if given' ); |
| 113 |
is( $item->permanent_location, $item->location, |
| 114 |
'permanent_location must have been set to location if not given' ); |
| 115 |
$item->delete; |
| 116 |
|
| 117 |
# Passing permanent_location on creating the item |
| 118 |
$item = Koha::Item->new( |
| 119 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
| 120 |
->store->get_from_storage; |
| 121 |
is( $item->permanent_location, 'perm_loc', |
| 122 |
'permanent_location must have been kept if given' ); |
| 123 |
$item->delete; |
| 124 |
} |
| 125 |
|
156 |
|
| 126 |
{ |
157 |
my $attributes = { |
| 127 |
# NewItemsDefaultLocation set |
158 |
homebranch => $library->{branchcode}, |
| 128 |
my $default_location = 'default_location'; |
159 |
holdingbranch => $library->{branchcode}, |
| 129 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', $default_location ); |
160 |
biblionumber => $biblio->biblionumber, |
| 130 |
|
161 |
}; |
| 131 |
# Not passing permanent_location on creating the item |
162 |
|
| 132 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
163 |
{ |
| 133 |
is( $item->location, $default_location, |
164 |
# NewItemsDefaultLocation not set |
| 134 |
'location must have been set to default_location even if given' # FIXME this sounds wrong! Must be done in any cases? |
165 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', '' ); |
| 135 |
); |
166 |
|
| 136 |
is( $item->permanent_location, $location, |
167 |
# Not passing permanent_location on creating the item |
| 137 |
'permanent_location must have been set to the location given' ); |
168 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
| 138 |
$item->delete; |
169 |
is( $item->location, undef, |
| 139 |
|
170 |
'location not passed and no default, it is undef' ); |
| 140 |
# Passing permanent_location on creating the item |
171 |
is( $item->permanent_location, $item->location, |
| 141 |
$item = Koha::Item->new( |
172 |
'permanent_location must have been set to location if not given' ); |
| 142 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
173 |
$item->delete; |
| 143 |
->store->get_from_storage; |
174 |
|
| 144 |
is( $item->location, $default_location, |
175 |
# Passing permanent_location on creating the item |
| 145 |
'location must have been set to default_location even if given' # FIXME this sounds wrong! Must be done in any cases? |
176 |
$item = Koha::Item->new( |
| 146 |
); |
177 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
| 147 |
is( $item->permanent_location, $location, |
178 |
->store->get_from_storage; |
| 148 |
'permanent_location must have been set to the location given' |
179 |
is( $item->permanent_location, 'perm_loc', |
| 149 |
); |
180 |
'permanent_location must have been kept if given' ); |
| 150 |
$item->delete; |
181 |
$item->delete; |
| 151 |
} |
182 |
} |
|
|
183 |
|
| 184 |
{ |
| 185 |
# NewItemsDefaultLocation set |
| 186 |
my $default_location = 'default_location'; |
| 187 |
t::lib::Mocks::mock_preference( 'NewItemsDefaultLocation', $default_location ); |
| 188 |
|
| 189 |
# Not passing permanent_location on creating the item |
| 190 |
my $item = Koha::Item->new($attributes)->store->get_from_storage; |
| 191 |
is( $item->location, $default_location, |
| 192 |
'location must have been set to default location if not given' ); |
| 193 |
is( $item->permanent_location, $default_location, |
| 194 |
'permanent_location must have been set to the default location as well' ); |
| 195 |
$item->delete; |
| 196 |
|
| 197 |
# Passing permanent_location on creating the item |
| 198 |
$item = Koha::Item->new( |
| 199 |
{ %$attributes, permanent_location => 'perm_loc' } ) |
| 200 |
->store->get_from_storage; |
| 201 |
is( $item->location, $default_location, |
| 202 |
'location must have been set to default location if not given' ); |
| 203 |
is( $item->permanent_location, 'perm_loc', |
| 204 |
'permanent_location must have been kept if given' ); |
| 205 |
$item->delete; |
| 206 |
} |
| 207 |
}; |
| 152 |
|
208 |
|
| 153 |
}; |
209 |
}; |
| 154 |
|
210 |
|
| 155 |
- |
|
|