|
Line 0
Link Here
|
| 0 |
- |
1 |
#!/usr/bin/perl |
|
|
2 |
|
| 3 |
use Modern::Perl; |
| 4 |
|
| 5 |
use CGI; |
| 6 |
|
| 7 |
use Test::More tests => 2; |
| 8 |
|
| 9 |
use C4::Acquisition; |
| 10 |
use C4::Biblio; |
| 11 |
use C4::Bookseller; |
| 12 |
use Koha::Database; |
| 13 |
use Koha::CsvProfile; |
| 14 |
|
| 15 |
use Koha::Acquisition::Order; |
| 16 |
|
| 17 |
my $schema = Koha::Database->new()->schema(); |
| 18 |
$schema->storage->txn_begin(); |
| 19 |
|
| 20 |
my $dbh = C4::Context->dbh; |
| 21 |
$dbh->{RaiseError} = 1; |
| 22 |
|
| 23 |
my $query = CGI->new(); |
| 24 |
|
| 25 |
my $vendor_id = C4::Bookseller::AddBookseller({ |
| 26 |
name => 'my vendor', |
| 27 |
address1 => 'vendor address', |
| 28 |
active => 1, |
| 29 |
deliverytime => 5, |
| 30 |
}); |
| 31 |
my $budget_id = C4::Budgets::AddBudget({ |
| 32 |
budget_code => 'my_budget_code', |
| 33 |
budget_name => 'My budget name', |
| 34 |
}); |
| 35 |
my $budget = C4::Budgets::GetBudget( $budget_id ); |
| 36 |
|
| 37 |
my $csv_profile = Koha::CsvProfile->new({ |
| 38 |
profile => 'my user profile', |
| 39 |
type => 'sql', |
| 40 |
csv_separator => ',', |
| 41 |
content => 'autor=biblio.author|title=biblio.title|quantity=aqorders.quantity', |
| 42 |
})->store; |
| 43 |
|
| 44 |
my $basketno; |
| 45 |
$basketno = NewBasket($vendor_id, 1); |
| 46 |
|
| 47 |
my $biblio = MARC::Record->new(); |
| 48 |
$biblio->append_fields( |
| 49 |
MARC::Field->new( '100', ' ', ' ', a => 'King, Stephen' ), |
| 50 |
MARC::Field->new( '245', ' ', ' ', a => 'Test Record' ), |
| 51 |
); |
| 52 |
my ($biblionumber, $biblioitemnumber) = AddBiblio($biblio, ''); |
| 53 |
|
| 54 |
my $order = Koha::Acquisition::Order->new({ |
| 55 |
basketno => $basketno, |
| 56 |
quantity => 3, |
| 57 |
biblionumber => $biblionumber, |
| 58 |
budget_id => $budget_id, |
| 59 |
entrydate => '2016-01-02', |
| 60 |
})->insert; |
| 61 |
|
| 62 |
# Use user CSV profile |
| 63 |
my $basket_csv1 = C4::Acquisition::GetBasketAsCSV($basketno, $query, $csv_profile->export_format_id); |
| 64 |
is($basket_csv1, 'autor,title,quantity |
| 65 |
"King, Stephen","Test Record",3 |
| 66 |
', 'CSV should be generated with user profile'); |
| 67 |
|
| 68 |
# Use defautl template |
| 69 |
my $basket_csv2 = C4::Acquisition::GetBasketAsCSV($basketno, $query); |
| 70 |
is($basket_csv2, 'Contract name,Order number,Entry date,ISBN,Author,Title,Publication year,Publisher,Collection title,Note for vendor,Quantity,RRP,Delivery place,Billing place |
| 71 |
|
| 72 |
"",' . $order->{ordernumber} . ',2016-01-02,,"King, Stephen","Test Record",,"","","",3,,"","" |
| 73 |
|
| 74 |
', 'CSV should be generated with default template'); |
| 75 |
|
| 76 |
$schema->storage->txn_rollback(); |