Lines 2-8
Link Here
|
2 |
|
2 |
|
3 |
use Modern::Perl; |
3 |
use Modern::Perl; |
4 |
|
4 |
|
5 |
use Test::More tests => 86; |
5 |
use Test::More tests => 99; |
6 |
use Test::MockModule; |
6 |
use Test::MockModule; |
7 |
use Test::Warn; |
7 |
use Test::Warn; |
8 |
|
8 |
|
Lines 11-19
use Koha::DateUtils;
Link Here
|
11 |
use DateTime::Duration; |
11 |
use DateTime::Duration; |
12 |
use t::lib::Mocks; |
12 |
use t::lib::Mocks; |
13 |
use C4::Acquisition; |
13 |
use C4::Acquisition; |
|
|
14 |
use C4::Contract qw( GetContract ); |
15 |
use C4::Items qw ( GetItem ); |
14 |
use C4::Serials; |
16 |
use C4::Serials; |
15 |
use C4::Budgets; |
17 |
use C4::Budgets; |
16 |
use C4::Biblio; |
18 |
use C4::Biblio; |
|
|
19 |
use t::lib::TestBuilder; |
17 |
|
20 |
|
18 |
use Koha::Acquisition::Booksellers; |
21 |
use Koha::Acquisition::Booksellers; |
19 |
use Koha::Acquisition::Order; |
22 |
use Koha::Acquisition::Order; |
Lines 38-43
$schema->storage->txn_begin();
Link Here
|
38 |
|
41 |
|
39 |
$dbh->{RaiseError} = 1; |
42 |
$dbh->{RaiseError} = 1; |
40 |
|
43 |
|
|
|
44 |
our $builder = t::lib::TestBuilder->new; |
45 |
|
41 |
#Start tests |
46 |
#Start tests |
42 |
$dbh->do(q|DELETE FROM aqorders|); |
47 |
$dbh->do(q|DELETE FROM aqorders|); |
43 |
$dbh->do(q|DELETE FROM aqbasket|); |
48 |
$dbh->do(q|DELETE FROM aqbasket|); |
Lines 751-756
is( $first_contact->phone,
Link Here
|
751 |
is( $contacts->count, |
756 |
is( $contacts->count, |
752 |
1, 'Only one contact after modification' ); |
757 |
1, 'Only one contact after modification' ); |
753 |
|
758 |
|
|
|
759 |
my $bookseller1 = create('Aqbookseller'); |
760 |
my $booksellerid1 = $bookseller1->{id}; |
761 |
my $bookseller2 = create('Aqbookseller'); |
762 |
my $booksellerid2 = $bookseller2->{id}; |
763 |
|
764 |
my $bg1 = create( 'Aqbasketgroup', $booksellerid1 ); |
765 |
my $bg2 = create( 'Aqbasketgroup', $booksellerid1 ); |
766 |
my $bg3 = create( 'Aqbasketgroup', $booksellerid2 ); |
767 |
|
768 |
my $basket1 = create( 'Aqbasket', $booksellerid1 ); |
769 |
my $basket2 = create( 'Aqbasket', $booksellerid1 ); |
770 |
|
771 |
my $contract = create( 'Aqcontract', $booksellerid1 ); |
772 |
|
773 |
my $contact = create( 'Aqcontact', $booksellerid1 ); |
774 |
|
775 |
my $invoice = create( 'Aqinvoice', $booksellerid1 ); |
776 |
|
777 |
my $deleteditem = create( 'Deleteditem', $booksellerid1 ); |
778 |
|
779 |
my $item1 = create( 'Item', $booksellerid1 ); |
780 |
|
781 |
my $subscription = create( 'Subscription', $booksellerid1 ); |
782 |
|
783 |
$bookseller = Koha::Acquisition::Booksellers->find( $booksellerid1 ); |
784 |
|
785 |
my $result = eval { $bookseller->merge_with(345876876) }; |
786 |
ok( |
787 |
$@ =~ /^Unknown target bookseller number: 345876876/, |
788 |
'Merge to unknown bookseller return an error' |
789 |
); |
790 |
|
791 |
$result = $bookseller->merge_with($booksellerid2); |
792 |
my $expected_result = { |
793 |
Aqbasketgroup => [ $bg1->{id}, $bg2->{id} ], |
794 |
Aqbasket => [ $basket1->{basketno}, $basket2->{basketno} ], |
795 |
Aqcontract => [ $contract->{contractnumber} ], |
796 |
Aqcontact => [ $contact->{id} ], |
797 |
Aqinvoice => [ $invoice->{invoiceid} ], |
798 |
Deleteditem => [ $deleteditem->{itemnumber} ], |
799 |
Item => [ $item1->{itemnumber} ], |
800 |
Subscription => [ $subscription->{subscriptionid} ] |
801 |
}; |
802 |
|
803 |
is_deeply( $result, $expected_result, 'Result should be as expected' ); |
804 |
|
805 |
is( GetBasketgroup( $bg1->{id} )->{'booksellerid'}, |
806 |
$booksellerid2, 'Basket group 1 has bookseller 2' ); |
807 |
|
808 |
is( GetBasketgroup( $bg2->{id} )->{'booksellerid'}, |
809 |
$booksellerid2, 'Basket group 2 has bookseller 2' ); |
810 |
|
811 |
is( GetBasketgroup( $bg3->{id} )->{'booksellerid'}, |
812 |
$booksellerid2, 'Basket group 3 keep bookseller 2' ); |
813 |
|
814 |
is( GetBasket( $basket1->{basketno} )->{'booksellerid'}, |
815 |
$booksellerid2, 'Basket 1 has bookseller 2' ); |
816 |
|
817 |
is( GetBasket( $basket2->{basketno} )->{'booksellerid'}, |
818 |
$booksellerid2, 'Basket 2 has bookseller 2' ); |
819 |
|
820 |
is( |
821 |
GetContract( { contractnumber => $contract->{contractnumber} } ) |
822 |
->{'booksellerid'}, |
823 |
$booksellerid2, |
824 |
'Basket 1 has bookseller 2' |
825 |
); |
826 |
|
827 |
is( Koha::Acquisition::Bookseller::Contacts->find( $contact->{id} )->booksellerid, |
828 |
$booksellerid2, 'Contact 1 has booksellerid 2' ); |
829 |
|
830 |
is( GetInvoice( $invoice->{invoiceid} )->{'booksellerid'}, |
831 |
$booksellerid2, 'Invoice has bookseller 2' ); |
832 |
|
833 |
my $item = Koha::Database->new()->schema->resultset('Deleteditem') |
834 |
->find( { itemnumber => $deleteditem->{itemnumber} } ); |
835 |
is( $item->get_column('booksellerid'), |
836 |
$booksellerid2, 'Deleted item has bookseller 2' ); |
837 |
|
838 |
is( GetItem( $item1->{itemnumber} )->{'booksellerid'}, |
839 |
$booksellerid2, 'Item has bookseller 2' ); |
840 |
|
841 |
is( GetSubscription( $subscription->{subscriptionid} )->{'aqbooksellerid'}, |
842 |
$booksellerid2, 'Subscription has bookseller 2' ); |
843 |
|
754 |
#End transaction |
844 |
#End transaction |
755 |
$schema->storage->txn_rollback(); |
845 |
$schema->storage->txn_rollback(); |
756 |
|
846 |
|
Lines 774-776
sub field_filter {
Link Here
|
774 |
} |
864 |
} |
775 |
return $struct; |
865 |
return $struct; |
776 |
} |
866 |
} |
777 |
- |
867 |
|
|
|
868 |
sub create { |
869 |
my ( $source, $booksellerid ) = @_; |
870 |
|
871 |
my $build = { source => $source }; |
872 |
my $foreign_key = |
873 |
$source eq 'Subscription' ? 'aqbooksellerid' : 'booksellerid'; |
874 |
$build->{value} = { $foreign_key => $booksellerid } if $booksellerid; |
875 |
|
876 |
my $entity = $builder->build($build); |
877 |
|
878 |
return $entity; |
879 |
} |