Lines 20-26
use Modern::Perl;
Link Here
|
20 |
use utf8; |
20 |
use utf8; |
21 |
use Encode; |
21 |
use Encode; |
22 |
|
22 |
|
23 |
use Test::More tests => 13; |
23 |
use Test::More tests => 14; |
24 |
use Test::MockModule; |
24 |
use Test::MockModule; |
25 |
use Test::Mojo; |
25 |
use Test::Mojo; |
26 |
use Test::Warn; |
26 |
use Test::Warn; |
Lines 1811-1813
subtest 'update_item() tests' => sub {
Link Here
|
1811 |
|
1811 |
|
1812 |
$schema->storage->txn_rollback; |
1812 |
$schema->storage->txn_rollback; |
1813 |
}; |
1813 |
}; |
1814 |
- |
1814 |
|
|
|
1815 |
subtest 'populate_empty_callnumbers() tests' => sub { |
1816 |
plan tests => 23; |
1817 |
|
1818 |
t::lib::Mocks::mock_preference( 'itemcallnumber', '' ); |
1819 |
|
1820 |
$schema->storage->txn_begin; |
1821 |
|
1822 |
my $biblio = $builder->build_sample_biblio(); |
1823 |
|
1824 |
my $patron = $builder->build_object( |
1825 |
{ |
1826 |
class => 'Koha::Patrons', |
1827 |
value => { flags => 0 } |
1828 |
} |
1829 |
); |
1830 |
my $password = 'thePassword123'; |
1831 |
$patron->set_password( { password => $password, skip_validation => 1 } ); |
1832 |
my $userid = $patron->userid; |
1833 |
|
1834 |
my $biblio_id = $biblio->id; |
1835 |
|
1836 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/populate_empty_callnumbers" => json => { external_id => 'something' }) |
1837 |
->status_is(403, 'Not enough permissions to update an item'); |
1838 |
|
1839 |
# Add permissions |
1840 |
$builder->build( |
1841 |
{ |
1842 |
source => 'UserPermission', |
1843 |
value => { |
1844 |
borrowernumber => $patron->borrowernumber, |
1845 |
module_bit => 9, |
1846 |
code => 'edit_catalogue' |
1847 |
} |
1848 |
} |
1849 |
); |
1850 |
|
1851 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/populate_empty_callnumbers" => json => {} ) |
1852 |
->status_is(200, 'Item updated') |
1853 |
->json_is('/items_updated', 0); |
1854 |
|
1855 |
my $item_1 = $builder->build_sample_item( { biblionumber => $biblio->id, itemcallnumber => q{} } ); |
1856 |
my $item_2 = $builder->build_sample_item( { biblionumber => $biblio->id, itemcallnumber => q{} } ); |
1857 |
my $item_3 = $builder->build_sample_item( { biblionumber => $biblio->id, itemcallnumber => q{} } ); |
1858 |
my $item_4 = $builder->build_sample_item( { biblionumber => $biblio->id, itemcallnumber => q{someCallNumber} } ); |
1859 |
|
1860 |
my $item1_id = $item_1->id; |
1861 |
|
1862 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/$item1_id/populate_empty_callnumbers" => json => {} ) |
1863 |
->status_is(404, 'Callnumber fields not found'); |
1864 |
|
1865 |
t::lib::Mocks::mock_preference( 'itemcallnumber', '245$a' ); |
1866 |
|
1867 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/$item1_id/populate_empty_callnumbers" => json => {} ) |
1868 |
->status_is(200, 'Item updated') |
1869 |
->json_is('/items_updated', 1) |
1870 |
->json_is('/callnumber', 'Some boring read'); |
1871 |
|
1872 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/populate_empty_callnumbers" => json => {} ) |
1873 |
->status_is(200, 'Items updated') |
1874 |
->json_is('/items_updated', 2) |
1875 |
->json_is('/callnumber', 'Some boring read'); |
1876 |
|
1877 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/populate_empty_callnumbers" => json => {} ) |
1878 |
->status_is(200, 'Items updated') |
1879 |
->json_is('/items_updated', 0); |
1880 |
|
1881 |
$t->post_ok("//$userid:$password@/api/v1/biblios/$biblio_id/items/$item1_id/populate_empty_callnumbers" => json => {} ) |
1882 |
->status_is(200, 'Item updated') |
1883 |
->json_is('/items_updated', 0); |
1884 |
|
1885 |
$t->post_ok("//$userid:$password@/api/v1/biblios/0/items/$item1_id/populate_empty_callnumbers" => json => {} ) |
1886 |
->status_is(404, 'Record not found'); |
1887 |
|
1888 |
$schema->storage->txn_rollback; |
1889 |
|
1890 |
}; |