From b5027f10b0380c54c07be7cd0a6c99a37bc6751b Mon Sep 17 00:00:00 2001 From: Josef Moravec Date: Tue, 1 Nov 2016 07:41:30 +0000 Subject: [PATCH] Bug 8612: Add tests for GetBasketAsCSV --- t/db_dependent/Acquisition/GetBasketAsCSV.t | 76 +++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 t/db_dependent/Acquisition/GetBasketAsCSV.t diff --git a/t/db_dependent/Acquisition/GetBasketAsCSV.t b/t/db_dependent/Acquisition/GetBasketAsCSV.t new file mode 100644 index 0000000..320bcca --- /dev/null +++ b/t/db_dependent/Acquisition/GetBasketAsCSV.t @@ -0,0 +1,76 @@ +#!/usr/bin/perl + +use Modern::Perl; + +use CGI; + +use Test::More tests => 2; + +use C4::Acquisition; +use C4::Biblio; +use C4::Bookseller; +use Koha::Database; +use Koha::CsvProfile; + +use Koha::Acquisition::Order; + +my $schema = Koha::Database->new()->schema(); +$schema->storage->txn_begin(); + +my $dbh = C4::Context->dbh; +$dbh->{RaiseError} = 1; + +my $query = CGI->new(); + +my $vendor_id = C4::Bookseller::AddBookseller({ + name => 'my vendor', + address1 => 'vendor address', + active => 1, + deliverytime => 5, +}); +my $budget_id = C4::Budgets::AddBudget({ + budget_code => 'my_budget_code', + budget_name => 'My budget name', +}); +my $budget = C4::Budgets::GetBudget( $budget_id ); + +my $csv_profile = Koha::CsvProfile->new({ + profile => 'my user profile', + type => 'sql', + csv_separator => ',', + content => 'autor=biblio.author|title=biblio.title|quantity=aqorders.quantity', +})->store; + +my $basketno; +$basketno = NewBasket($vendor_id, 1); + +my $biblio = MARC::Record->new(); +$biblio->append_fields( + MARC::Field->new( '100', ' ', ' ', a => 'King, Stephen' ), + MARC::Field->new( '245', ' ', ' ', a => 'Test Record' ), +); +my ($biblionumber, $biblioitemnumber) = AddBiblio($biblio, ''); + +my $order = Koha::Acquisition::Order->new({ + basketno => $basketno, + quantity => 3, + biblionumber => $biblionumber, + budget_id => $budget_id, + entrydate => '2016-01-02', +})->insert; + +# Use user CSV profile +my $basket_csv1 = C4::Acquisition::GetBasketAsCSV($basketno, $query, $csv_profile->export_format_id); +is($basket_csv1, 'autor,title,quantity +"King, Stephen","Test Record",3 +', 'CSV should be generated with user profile'); + +# Use defautl template +my $basket_csv2 = C4::Acquisition::GetBasketAsCSV($basketno, $query); +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 + +"",' . $order->{ordernumber} . ',2016-01-02,,"King, Stephen","Test Record",,"","","",3,,"","" + +', 'CSV should be generated with default template'); + +$schema->storage->txn_rollback(); -- 2.1.4