# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
-use Test::More tests => 155;
+use Test::More tests => 156;
use Test::Warn;
# To be replaced by t::lib::Mock
is($result_7->{invalid}, 1, 'Got the expected 1 invalid result from import patrons for dates tests');
is($result_7->{overwritten}, 0, 'Got the expected 0 overwritten result from import patrons for dates tests');
+subtest 'test_import_without_cardnumber' => sub {
+ plan tests => 2;
+
+ #Remove possible existing user with a "" as cardnumber
+ my $blank_card = Koha::Patrons->find({ cardnumber => '' });
+ $blank_card->delete if $blank_card;
+
+ my $branchcode = $builder->build({ source => "Branch"})->{branchcode};
+ my $categorycode = $builder->build({ source => "Category"})->{categorycode};
+ my $csv_headers = 'surname, branchcode, categorycode';
+ my $res_headers = 'surname, branchcode, categorycode';
+ my $csv_nocard_1 = "Squarepants,$branchcode,$categorycode";
+ my $csv_nocard_2 = "Star,$branchcode,$categorycode";
+
+ my $filename_1 = make_csv($temp_dir, $csv_headers, $csv_nocard_1, $csv_nocard_2);
+ open(my $handle_1, "<", $filename_1) or die "cannot open < $filename_1: $!";
+ my $params_1 = { file => $handle_1, };
+
+ my $defaults = { cardnumber => "" }; #currently all the defaults come as "" if not filled
+
+ my $result = $patrons_import->import_patrons($params_1, $defaults);
+ warn Data::Dumper::Dumper( $result );
+ like($result->{feedback}->[1]->{value}, qr/^Squarepants \/ \d+/, 'First borrower imported as expected');
+ like($result->{feedback}->[2]->{value}, qr/^Star \/ \d+/, 'Second borrower imported as expected');
+
+};
+
+
subtest 'test_prepare_columns' => sub {
plan tests => 16;