- CPAN Bug# 23587: _pre_submit() would return success if fraud detection is
[Business-OnlinePayment.git] / t / bop.t
diff --git a/t/bop.t b/t/bop.t
index c5535d2..d34ed76 100644 (file)
--- a/t/bop.t
+++ b/t/bop.t
@@ -1,5 +1,4 @@
 #!/usr/bin/perl
-# $Id: bop.t,v 1.7 2006-11-20 04:54:24 plobbes Exp $
 
 use strict;
 use warnings;
@@ -18,19 +17,15 @@ BEGIN { use_ok("Business::OnlinePayment") or exit; }
 {    # fake test driver 2 (with submit method that dies)
 
     package Business::OnlinePayment::MOCK2;
-    use strict;
-    use warnings;
-    use base qw(Business::OnlinePayment);
-    sub submit { die("in processor submit\n"); }
+    use base qw(Business::OnlinePayment::MOCK1);
+    sub submit { my $self = shift; die("in processor submit\n"); }
 }
 
 {    # fake test driver 3 (with submit method)
 
     package Business::OnlinePayment::MOCK3;
-    use strict;
-    use warnings;
-    use base qw(Business::OnlinePayment);
-    sub submit { return (1); }
+    use base qw(Business::OnlinePayment::MOCK1);
+    sub submit { my $self = shift; return 1; }
 }
 
 my $package = "Business::OnlinePayment";
@@ -120,7 +115,8 @@ foreach my $drv (@drivers) {
 
     is( $obj->fraud_detect($bogus), $bogus, "fraud_detect set to '$bogus'" );
     eval { $obj->submit; };
-    is( $@, "", "fraud_detect ignores non-existant processors" );
+    like( $@, qr/^Unable to locate fraud_detection /,
+          "fraud_detect with unknown processor croaks" );
 
     is( $obj->fraud_detect($valid), $valid, "fraud_detect set to '$valid'" );
     eval { $obj->submit; };
@@ -202,7 +198,7 @@ foreach my $drv (@drivers) {
 
     eval { $obj->submit; };
     like( $@, qr/^Processor subclass did not /, "missing submit() croaks" );
-    is( $obj->can("submit"), $package->can("submit"), "submit unchanged" );
+    isnt( $obj->can("submit"), $package->can("submit"), "submit changed" );
 
     my $mock2 = $package->new("MOCK2");
     can_ok( $mock2, qw(submit) );