|
Lines 849-855
subtest 'article_requests() tests' => sub {
Link Here
|
| 849 |
|
849 |
|
| 850 |
subtest 'safe_to_delete() tests' => sub { |
850 |
subtest 'safe_to_delete() tests' => sub { |
| 851 |
|
851 |
|
| 852 |
plan tests => 5; |
852 |
plan tests => 14; |
| 853 |
|
853 |
|
| 854 |
$schema->storage->txn_begin; |
854 |
$schema->storage->txn_begin; |
| 855 |
|
855 |
|
|
Lines 858-864
subtest 'safe_to_delete() tests' => sub {
Link Here
|
| 858 |
## Make it the anonymous |
858 |
## Make it the anonymous |
| 859 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $patron->id ); |
859 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $patron->id ); |
| 860 |
|
860 |
|
| 861 |
is( $patron->safe_to_delete, 'is_anonymous_patron', 'Cannot delete, it is the anonymous patron' ); |
861 |
ok( !$patron->safe_to_delete, 'Cannot delete, it is the anonymous patron' ); |
|
|
862 |
my $message = $patron->safe_to_delete->messages->[0]; |
| 863 |
is( $message->type, 'error', 'Type is error' ); |
| 864 |
is( $message->message, 'is_anonymous_patron', 'Cannot delete, it is the anonymous patron' ); |
| 862 |
# cleanup |
865 |
# cleanup |
| 863 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', 0 ); |
866 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', 0 ); |
| 864 |
|
867 |
|
|
Lines 870-876
subtest 'safe_to_delete() tests' => sub {
Link Here
|
| 870 |
} |
873 |
} |
| 871 |
); |
874 |
); |
| 872 |
|
875 |
|
| 873 |
is( $patron->safe_to_delete, 'has_checkouts', 'Cannot delete, has checkouts' ); |
876 |
ok( !$patron->safe_to_delete, 'Cannot delete, has checkouts' ); |
|
|
877 |
$message = $patron->safe_to_delete->messages->[0]; |
| 878 |
is( $message->type, 'error', 'Type is error' ); |
| 879 |
is( $message->message, 'has_checkouts', 'Cannot delete, has checkouts' ); |
| 874 |
# cleanup |
880 |
# cleanup |
| 875 |
$checkout->delete; |
881 |
$checkout->delete; |
| 876 |
|
882 |
|
|
Lines 879-897
subtest 'safe_to_delete() tests' => sub {
Link Here
|
| 879 |
$builder->build_object({ class => 'Koha::Patrons' }) |
885 |
$builder->build_object({ class => 'Koha::Patrons' }) |
| 880 |
->add_guarantor({ guarantor_id => $patron->id, relationship => 'parent' }); |
886 |
->add_guarantor({ guarantor_id => $patron->id, relationship => 'parent' }); |
| 881 |
|
887 |
|
| 882 |
is( $patron->safe_to_delete, 'has_guarantees', 'Cannot delete, has guarantees' ); |
888 |
ok( !$patron->safe_to_delete, 'Cannot delete, has guarantees' ); |
|
|
889 |
$message = $patron->safe_to_delete->messages->[0]; |
| 890 |
is( $message->type, 'error', 'Type is error' ); |
| 891 |
is( $message->message, 'has_guarantees', 'Cannot delete, has guarantees' ); |
| 892 |
|
| 883 |
# cleanup |
893 |
# cleanup |
| 884 |
$patron->guarantee_relationships->delete; |
894 |
$patron->guarantee_relationships->delete; |
| 885 |
|
895 |
|
| 886 |
## Make it have debt |
896 |
## Make it have debt |
| 887 |
my $debit = $patron->account->add_debit({ amount => 10, interface => 'intranet', type => 'MANUAL' }); |
897 |
my $debit = $patron->account->add_debit({ amount => 10, interface => 'intranet', type => 'MANUAL' }); |
| 888 |
|
898 |
|
| 889 |
is( $patron->safe_to_delete, 'has_debt', 'Cannot delete, has debt' ); |
899 |
ok( !$patron->safe_to_delete, 'Cannot delete, has debt' ); |
|
|
900 |
$message = $patron->safe_to_delete->messages->[0]; |
| 901 |
is( $message->type, 'error', 'Type is error' ); |
| 902 |
is( $message->message, 'has_debt', 'Cannot delete, has debt' ); |
| 890 |
# cleanup |
903 |
# cleanup |
| 891 |
$patron->account->pay({ amount => 10, debits => [ $debit ] }); |
904 |
$patron->account->pay({ amount => 10, debits => [ $debit ] }); |
| 892 |
|
905 |
|
| 893 |
## Happy case :-D |
906 |
## Happy case :-D |
| 894 |
is( $patron->safe_to_delete, 'ok', 'Can delete, all conditions met' ); |
907 |
ok( $patron->safe_to_delete, 'Can delete, all conditions met' ); |
|
|
908 |
my $messages = $patron->safe_to_delete->messages; |
| 909 |
is_deeply( $messages, [], 'Patron can be deleted, no messages' ); |
| 895 |
|
910 |
|
| 896 |
$schema->storage->txn_rollback; |
911 |
$schema->storage->txn_rollback; |
| 897 |
}; |
912 |
}; |
| 898 |
- |
|
|