Skip to content

Commit 3b9f7ae

Browse files
committedNov 1, 2011
WebGUI 8 adjustments and test upgrades.
1 parent 9a4703e commit 3b9f7ae

File tree

14 files changed

+115
-132
lines changed

14 files changed

+115
-132
lines changed
 

‎lib/WebGUI/Asset/Template.pm

+4-4
Original file line numberDiff line numberDiff line change
@@ -1076,8 +1076,8 @@ sub www_preview {
10761076
my $session = $self->session;
10771077
return $session->privilege->insufficient unless $self->canEdit;
10781078

1079-
my $form = $session->form;
1080-
my $http = $session->http;
1079+
my $form = $session->form;
1080+
my $response = $session->response;
10811081

10821082
try {
10831083
my $output = $self->processRaw(
@@ -1087,14 +1087,14 @@ sub www_preview {
10871087
$form->get('parser'),
10881088
);
10891089
if ($form->get('plainText')) {
1090-
$http->setMimeType('text/plain');
1090+
$response->content_type('text/plain');
10911091
}
10921092
elsif ($output !~ /<html>/) {
10931093
$output = $session->style->userStyle($output);
10941094
}
10951095
return $output;
10961096
} catch {
1097-
$http->setMimeType('text/plain');
1097+
$response->content_type('text/plain');
10981098
$_[0];
10991099
}
11001100
}

‎lib/WebGUI/Auth.pm

+3-2
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ sub www_createAccountSave {
916916
$profile->{'language'} = $self->session->scratch->getLanguageOverride;
917917
}
918918
$u->karma($self->session->setting->get("karmaPerLogin"),"Login","Just for logging in.") if ($self->session->setting->get("useKarma"));
919-
$u->updateProfileFields($profile) if ($profile);
919+
$u->update($profile);
920920
$self->update($properties);
921921

922922
my $address = {};
@@ -927,6 +927,8 @@ sub www_createAccountSave {
927927
$address->{$address_key} = $profile->{$fieldId} if ($address_key);
928928
}
929929

930+
$self->session->user({user=>$u});
931+
930932
#Update or create and update the shop address
931933
if ( keys %$address ) {
932934
$address->{'isProfile' } = 1;
@@ -962,7 +964,6 @@ sub www_createAccountSave {
962964
});
963965
}
964966

965-
$self->session->user({user=>$u});
966967
$self->_logLogin($userId,"success");
967968

968969
if ($self->session->setting->get("runOnRegistration")) {

‎lib/WebGUI/Content/PDFGenerator.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ sub handler {
138138
return undef unless $op && $op eq 'generatePdf';
139139
my $asset = getRequestedAsset($session);
140140
return $session->privilege->noAccess unless $asset->canView;
141-
$session->http->setMimeType('application/pdf');
141+
$session->response->content_type('application/pdf');
142142
return cache($asset);
143143
}
144144

‎lib/WebGUI/Shop/Address.pm

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ property "addressBookId" => (
9191
property "isProfile" => (
9292
noFormPost => 1,
9393
required => 0,
94+
default => 0,
9495
);
9596

9697
has [ qw/addressId addressBook/] => (

‎lib/WebGUI/Shop/AddressBook.pm

+16-16
Original file line numberDiff line numberDiff line change
@@ -625,18 +625,18 @@ sub www_ajaxSearch {
625625

626626
my $name = $form->get('name');
627627
my $fields = {
628-
firstName => (split(" ",$name))[0] || "",
629-
lastName => (split(" ",$name))[1] || "",
630-
organization => $form->get('organization') || "",
631-
address1 => $form->get('address1') || "",
632-
address2 => $form->get('address2') || "",
633-
address3 => $form->get('address3') || "",
634-
city => $form->get('city') || "",
635-
state => $form->get('state') || "",
636-
code => $form->get('zipcode') || "",
637-
country => $form->get('country') || "",
638-
email => $form->get('email') || "",
639-
phoneNumber => $form->get('phone') || "",
628+
'address.firstName' => (split(" ",$name))[0] || "",
629+
'address.lastName' => (split(" ",$name))[1] || "",
630+
'address.organization' => $form->get('organization') || "",
631+
'address.address1' => $form->get('address1') || "",
632+
'address.address2' => $form->get('address2') || "",
633+
'address.address3' => $form->get('address3') || "",
634+
'address.city' => $form->get('city') || "",
635+
'address.state' => $form->get('state') || "",
636+
'address.code' => $form->get('zipcode') || "",
637+
'address.country' => $form->get('country') || "",
638+
'address.email' => $form->get('email') || "",
639+
'address.phoneNumber' => $form->get('phone') || "",
640640
};
641641

642642
my $clause = [];
@@ -645,7 +645,7 @@ sub www_ajaxSearch {
645645
foreach my $field (keys %$fields) {
646646
my $field_value = $fields->{$field};
647647
if($field_value) {
648-
$field = $session->db->dbh->quote_identifier($field);
648+
$field = join('.', map { $session->db->quote_identifier($_) } split(/\./, $field));
649649
$field_value = $field_value."%";
650650
push(@$clause,qq{$field like ?});
651651
push(@$params,$field_value);
@@ -663,8 +663,8 @@ sub www_ajaxSearch {
663663

664664
my $query = qq{
665665
select
666-
address.*,
667-
users.username
666+
users.username,
667+
address.*
668668
from
669669
address
670670
join addressBook on address.addressBookId = addressBook.addressBookId
@@ -679,7 +679,7 @@ sub www_ajaxSearch {
679679
push(@$var,$hash);
680680
}
681681

682-
$session->http->setMimeType('text/plain');
682+
$session->response->content_type('text/plain');
683683
return JSON->new->encode($var);
684684
}
685685

‎lib/WebGUI/Shop/Pay.pm

+1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ sub getDrivers {
114114
my $self = shift;
115115
my %drivers = ();
116116
CLASS: foreach my $class (@{$self->session->config->get('paymentDrivers')}) {
117+
$self->session->log->warn($class);
117118
my $driverName = eval { WebGUI::Pluggable::instanciate($class, 'getName', [ $self->session ])};
118119
if ($@) {
119120
$self->session->log->warn("Error loading $class: $@");

‎lib/WebGUI/Shop/PayDriver/CreditCard.pm

+17-30
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,26 @@ The following methods are available from this class.
2020
2121
=cut
2222

23-
use base qw/WebGUI::Shop::PayDriver/;
23+
use Moose;
24+
use WebGUI::Definition::Shop;
25+
extends 'WebGUI::Shop::PayDriver';
2426

2527
Readonly my $I18N => 'PayDriver_CreditCard';
2628

29+
define pluginName => 'Credit Card Base Class';
30+
property useCVV2 => (
31+
fieldType => 'yesNo',
32+
label => ['use cvv2', $I18N],
33+
hoverHelp => ['use cvv2 help', $I18N],
34+
);
35+
property credentialsTemplateId => (
36+
fieldType => 'template',
37+
label => ['credentials template', $I18N],
38+
hoverHelp => ['credentials template help', $I18N],
39+
namespace => 'Shop/Credentials',
40+
default => 'itransact_credentials1',
41+
);
42+
2743
#-------------------------------------------------------------------
2844
sub _monthYear {
2945
my $session = shift;
@@ -92,35 +108,6 @@ sub appendCredentialVars {
92108
return;
93109
}
94110

95-
#-------------------------------------------------------------------
96-
sub definition {
97-
my ($class, $session, $definition) = @_;
98-
99-
my $i18n = WebGUI::International->new($session, $I18N);
100-
101-
tie my %fields, 'Tie::IxHash', (
102-
useCVV2 => {
103-
fieldType => 'yesNo',
104-
label => $i18n->get('use cvv2'),
105-
hoverHelp => $i18n->get('use cvv2 help'),
106-
},
107-
credentialsTemplateId => {
108-
fieldType => 'template',
109-
label => $i18n->get('credentials template'),
110-
hoverHelp => $i18n->get('credentials template help'),
111-
namespace => 'Shop/Credentials',
112-
defaultValue => 'itransact_credentials1',
113-
},
114-
);
115-
116-
push @{ $definition }, {
117-
name => 'Credit Card Base Class',
118-
properties => \%fields,
119-
};
120-
121-
return $class->SUPER::definition($session, $definition);
122-
}
123-
124111
#-------------------------------------------------------------------
125112

126113
=head2 processCredentials

‎lib/WebGUI/Shop/PayDriver/CreditCard/AuthorizeNet.pm

+21-32
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,29 @@ use DateTime;
88
use Readonly;
99
use Business::OnlinePayment;
1010

11+
use Moose;
12+
use WebGUI::Definition::Shop;
13+
extends 'WebGUI::Shop::PayDriver::CreditCard';
14+
1115
Readonly my $I18N => 'PayDriver_AuthorizeNet';
1216

17+
define pluginName => ['name', $I18N];
18+
property login => (
19+
fieldType => 'text',
20+
label => ['login', $I18N],
21+
hoverHelp => ['login help', $I18N],
22+
);
23+
property transaction_key => (
24+
fieldType => 'text',
25+
label => ['transaction key', $I18N],
26+
hoverHelp => ['transaction key help', $I18N],
27+
);
28+
property testMode => (
29+
fieldType => 'YesNo',
30+
label => ['test mode', $I18N],
31+
hoverHelp => ['test mode help', $I18N],
32+
);
33+
1334
=head1 NAME
1435
1536
WebGUI::Shop::PayDriver::CreditCard::AuthorizeNet
@@ -87,38 +108,6 @@ sub cancelRecurringPayment {
87108
return $self->gatewayResponse($tx);
88109
}
89110

90-
#-------------------------------------------------------------------
91-
sub definition {
92-
my ( $class, $session, $definition ) = @_;
93-
94-
my $i18n = WebGUI::International->new( $session, $I18N );
95-
96-
tie my %fields, 'Tie::IxHash', (
97-
login => {
98-
fieldType => 'text',
99-
label => $i18n->get('login'),
100-
hoverHelp => $i18n->get('login help'),
101-
},
102-
transaction_key => {
103-
fieldType => 'text',
104-
label => $i18n->get('transaction key'),
105-
hoverHelp => $i18n->get('transaction key help'),
106-
},
107-
testMode => {
108-
fieldType => 'YesNo',
109-
label => $i18n->get('test mode'),
110-
hoverHelp => $i18n->get('test mode help'),
111-
},
112-
);
113-
114-
push @{$definition}, {
115-
name => $i18n->get('name'),
116-
properties => \%fields,
117-
};
118-
119-
return $class->SUPER::definition( $session, $definition );
120-
} ## end sub definition
121-
122111
#-------------------------------------------------------------------
123112

124113
=head2 gatewayObject ( params )

‎t/Asset/Post/Thread/bug_12206_bad_subscription_groups_in_duplicate.t

+7-2
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,17 @@ use WebGUI::Test;
3131
use WebGUI::Asset;
3232

3333
my $session = WebGUI::Test->session;
34-
my $thread = WebGUI::Asset->getImportNode($session)->addChild(
34+
my $cs = WebGUI::Asset->getImportNode($session)->addChild(
35+
{
36+
className => 'WebGUI::Asset::Wobject::Collaboration',
37+
}
38+
);
39+
my $thread = $cs->addChild(
3540
{
3641
className => 'WebGUI::Asset::Post::Thread',
3742
}
3843
);
39-
WebGUI::Test->addToCleanup($thread);
44+
WebGUI::Test->addToCleanup($cs);
4045
$thread->createSubscriptionGroup();
4146
my $admin = WebGUI::User->new($session, 3);
4247
ok !$admin->isInGroup($thread->get('subscriptionGroupId'));

‎t/Asset/Wobject/Thingy/www_editThingDataSaveViaAjax.t

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@ $session->request->setup_body({
9292
});
9393

9494
$session->user({userId => '3'});
95-
$session->http->setStatus(200);
95+
$session->response->status(200);
9696
my $json = $thingy->www_editThingDataSaveViaAjax();
9797
is $json, '{}', 'www_editThingDataSaveViaAjax: Empty JSON hash';
98-
is $session->http->getStatus, 200, '... http status=200';
98+
is $session->response->status, 200, '... http status=200';
9999

100100

101101
$session->request->setup_body({

‎t/Auth.t

+6-9
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ my $session = WebGUI::Test->session;
2828

2929
my @cleanupUsernames = (); # Will be cleaned up when we're done
3030
my $auth; # will be used to create auth instances
31-
my ($request, $oldRequest, $output);
3231

3332
#----------------------------------------------------------------------------
3433
# Tests
@@ -54,7 +53,7 @@ WebGUI::Test->addToCleanup(sub {
5453
});
5554

5655
$createAccountSession->scratch->setLanguageOverride($language);
57-
$output = $auth->www_createAccountSave( $username, { }, "PASSWORD" );
56+
my $output = $auth->www_createAccountSave( $username, { }, "PASSWORD" );
5857
WebGUI::Test->addToCleanup(sub {
5958
for my $username ( @cleanupUsernames ) {
6059
# We don't create actual, real users, so we have to cleanup by hand
@@ -92,7 +91,7 @@ is(
9291
"returnUrl field is used to set redirect after createAccountSave",
9392
);
9493

95-
is $createAccountSession->user->profileField('language'), $language, 'languageOverride is taken in to account in createAccountSave';
94+
is $createAccountSession->user->get('language'), $language, 'languageOverride is taken in to account in createAccountSave';
9695
$createAccountSession->scratch->delete('language'); ##Remove language override
9796

9897

@@ -109,19 +108,17 @@ $auth = WebGUI::Auth->new( $loginSession, 3 );
109108
my $username = $loginSession->id->generate;
110109
push @cleanupUsernames, $username;
111110
$session->setting->set('showMessageOnLogin', 0);
112-
$output = $auth->login;
111+
$output = $auth->www_login;
113112

114113
is(
115114
$loginSession->response->location, 'REDIRECT_LOGIN_URL',
116115
"returnUrl field is used to set redirect after login",
117116
);
118117
is $output, undef, 'login returns undef when showMessageOnLogin is false';
119118

120-
# Session Cleanup
121-
$session->{_request} = $oldRequest;
122-
123119
#----------------------------------------------------------------------------
124120
# Test createAccountSave
121+
$auth = WebGUI::Auth->new( $session );
125122
$username = $session->id->generate;
126123
push @cleanupUsernames, $username;
127124

@@ -138,14 +135,14 @@ tie my %profile_info, "Tie::IxHash", (
138135
email => 'andy@shawshank.com'
139136
);
140137

141-
$auth->createAccountSave( $username, { }, "PASSWORD", \%profile_info );
138+
diag $auth->www_createAccountSave( $username, { }, "PASSWORD", \%profile_info );
142139

143140
#Reset andy to the session users since stuff has changed
144141
my $andy = $session->user;
145142

146143
#Test that the address was saved to the profile
147144
cmp_bag(
148-
[ map { $andy->profileField($_) } keys %profile_info ],
145+
[ map { $andy->get($_) } keys %profile_info ],
149146
[ values %profile_info ],
150147
'Profile fields were saved'
151148
);

‎t/Shop/Address.t

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ cmp_deeply(
123123
addressId => ignore(), #checked elsewhere
124124
addressBookId => $book->getId,
125125
addressBook => $book,
126-
isProfile => 0,
126+
isProfile => bool(0),
127127
},
128128
'get the whole thing and check a new, blank object'
129129
);

‎t/Shop/AddressBook.t

+32-32
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use strict;
1717
use Test::More;
1818
use Test::Deep;
19+
use Data::Dumper;
1920
use Exception::Class;
2021

2122
use WebGUI::Test; # Must use this before any other WebGUI modules
@@ -194,9 +195,6 @@ is($profile_address->getId,$address1->getId,"getProfileAddress returns addresses
194195
#
195196
#######################################################################
196197

197-
#Clear the book address cache
198-
$book->uncache;
199-
200198
my $address_info = {
201199
label => 'Profile Label',
202200
addressId => $address1->getId,
@@ -232,14 +230,11 @@ cmp_bag(
232230
my $u = WebGUI::User->new($session,$book->get("userId"));
233231

234232
cmp_bag(
235-
[ map { $u->profileField($_) } keys %{ $book->getProfileAddressMappings } ],
233+
[ map { $u->get($_) } keys %{ $book->getProfileAddressMappings } ],
236234
[ map { $address1->get($_) } values %{ $book->getProfileAddressMappings } ],
237235
'Profile address was updated and matches address fields'
238236
);
239237

240-
#Test that updates to non profile address does not update the profile
241-
$book->uncache;
242-
243238
$address_info = {
244239
label => 'Non Profile Label',
245240
addressId => $address2->getId,
@@ -275,7 +270,7 @@ cmp_bag(
275270
);
276271

277272
cmp_bag(
278-
[ map { $u->profileField($_) } keys %{ $book->getProfileAddressMappings } ],
273+
[ map { $u->get($_) } keys %{ $book->getProfileAddressMappings } ],
279274
[ map { $address1->get($_) } values %{ $book->getProfileAddressMappings } ],
280275
'Profile address was not updated when non profile fields were saved'
281276
);
@@ -286,9 +281,6 @@ cmp_bag(
286281
#
287282
#######################################################################
288283

289-
#clear the cache
290-
$book->uncache;
291-
292284
$session->request->setup_body({
293285
'addressId' => $address2->getId,
294286
'callback' => q|{'url':''}|
@@ -304,9 +296,6 @@ cmp_bag(
304296
);
305297

306298

307-
#clear the cache
308-
$book->uncache;
309-
310299
$session->request->setup_body({
311300
'addressId' => $address1->getId,
312301
'callback' => q|{'url':''}|
@@ -328,9 +317,6 @@ cmp_bag(
328317
#
329318
#######################################################################
330319

331-
#clear the cache
332-
$book->uncache;
333-
334320
my $addressBookId = $alreadyHaveBook->getId;
335321
my $firstCount = $session->db->quickScalar('select count(*) from addressBook where addressBookId=?',[$addressBookId]);
336322
$alreadyHaveBook->delete();
@@ -381,6 +367,7 @@ cmp_bag(
381367
#Create some data to search for
382368
my $andySession = WebGUI::Test->newSession;
383369
my $andy = WebGUI::User->create($andySession);
370+
$andy->username('andy');
384371
WebGUI::Test->addToCleanup($andy);
385372
$andySession->user({ userId => $andy->getId });
386373
my $andyBook = WebGUI::Shop::AddressBook->create($andySession);
@@ -421,6 +408,7 @@ my $andyAddr2 = $andyBook->addAddress({
421408

422409
my $redSession = WebGUI::Test->newSession;
423410
my $red = WebGUI::User->create($redSession);
411+
$red->username('red');
424412
WebGUI::Test->addToCleanup($red);
425413
$redSession->user({userId => $red->getId});
426414
my $redBook = WebGUI::Shop::AddressBook->create($redSession);
@@ -439,12 +427,14 @@ my $redAddr = $redBook->addAddress({
439427
country => 'US',
440428
phoneNumber => '111-111-1111',
441429
email => 'red@shawshank.com',
442-
organization => 'Shawshank'
430+
organization => 'Shawshank',
431+
isProfile => 0,
443432
});
444433

445434

446435
my $brooksSession = WebGUI::Test->newSession;
447436
my $brooks = WebGUI::User->create($brooksSession);
437+
$brooks->username('brooks');
448438
WebGUI::Test->addToCleanup($brooks);
449439
$brooksSession->user({userId => $brooks->getId});
450440
my $brooksBook = WebGUI::Shop::AddressBook->create($brooksSession);
@@ -463,7 +453,8 @@ my $brooksAddr = $brooksBook->addAddress({
463453
country => 'US',
464454
phoneNumber => '111-111-1111',
465455
email => 'brooks@shawshank.com',
466-
organization => 'Shawshank'
456+
organization => 'Shawshank',
457+
isProfile => 0,
467458
});
468459

469460
#Test search as admin
@@ -473,11 +464,20 @@ $session->request->setup_body({
473464

474465
my $results = JSON->new->decode($book->www_ajaxSearch);
475466

467+
my $andyAddr1_get = $andyAddr1->get;
468+
my $andyAddr2_get = $andyAddr2->get;
469+
my $redAddr_get = $redAddr->get;
470+
my $brooksAddr_get = $brooksAddr->get;
471+
472+
foreach my $addr ($andyAddr1_get, $andyAddr2_get, $redAddr_get, $brooksAddr_get) {
473+
delete $addr->{addressBook};
474+
}
475+
476476
cmp_bag(
477477
$results,
478478
[
479-
{ %{$andyAddr1->get}, username => $andy->username },
480-
{ %{$andyAddr2->get}, username => $andy->username },
479+
{ %{$andyAddr1_get}, username => $andy->username, },
480+
{ %{$andyAddr2_get}, username => $andy->username, },
481481
],
482482
'Ajax Address Search matches name correctly for admins'
483483
);
@@ -501,7 +501,7 @@ $results = JSON->new->decode($book->www_ajaxSearch);
501501

502502
cmp_bag(
503503
$results,
504-
[{ %{$andyAddr1->get}, username => $andy->username }],
504+
[{ %{$andyAddr1_get}, username => $andy->username }],
505505
'Ajax Address Search matches multiple fields correctly'
506506
);
507507

@@ -539,9 +539,9 @@ $results = JSON->new->decode($book->www_ajaxSearch);
539539
cmp_bag(
540540
$results,
541541
[
542-
{ %{$andyAddr1->get}, username => $andy->username },
543-
{ %{$redAddr->get}, username => $red->username },
544-
{ %{$brooksAddr->get}, username => $brooks->username },
542+
{ %{$andyAddr1_get}, username => $andy->username },
543+
{ %{$redAddr_get}, username => $red->username },
544+
{ %{$brooksAddr_get}, username => $brooks->username },
545545
],
546546
'Ajax Address Search returns cross user results for admins'
547547
);
@@ -556,9 +556,9 @@ $results = JSON->new->decode($andyBook->www_ajaxSearch);
556556
cmp_bag(
557557
$results,
558558
[
559-
{ %{$andyAddr1->get}, username => $andy->username },
560-
{ %{$redAddr->get}, username => $red->username },
561-
{ %{$brooksAddr->get}, username => $brooks->username },
559+
{ %{$andyAddr1_get}, username => $andy->username },
560+
{ %{$redAddr_get}, username => $red->username },
561+
{ %{$brooksAddr_get}, username => $brooks->username },
562562
],
563563
'Ajax Address Search returns cross user results for shop admins'
564564
);
@@ -573,9 +573,9 @@ $results = JSON->new->decode($redBook->www_ajaxSearch);
573573
cmp_bag(
574574
$results,
575575
[
576-
{ %{$andyAddr1->get}, username => $andy->username },
577-
{ %{$redAddr->get}, username => $red->username },
578-
{ %{$brooksAddr->get}, username => $brooks->username },
576+
{ %{$andyAddr1_get}, username => $andy->username },
577+
{ %{$redAddr_get}, username => $red->username },
578+
{ %{$brooksAddr_get}, username => $brooks->username },
579579
],
580580
'Ajax Address Search returns cross user results for shop cashiers'
581581
);
@@ -588,7 +588,7 @@ $results = JSON->new->decode($brooksBook->www_ajaxSearch);
588588

589589
cmp_bag(
590590
$results,
591-
[{ %{$brooksAddr->get}, username => $brooks->username }],
591+
[{ %{$brooksAddr_get}, username => $brooks->username }],
592592
'Ajax Address Search returns only current user results for non privileged users'
593593
);
594594

‎t/Shop/Pay.t

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use strict;
1717
use Test::More;
1818
use Test::Deep;
1919
use Test::Exception;
20+
use Data::Dumper;
2021
use JSON;
2122
use HTML::Form;
2223

@@ -132,7 +133,8 @@ my $defaultPayDrivers = {
132133
'WebGUI::Shop::PayDriver::CreditCard::AuthorizeNet' => 'Credit Card (Authorize.net)',
133134
};
134135

135-
cmp_deeply( $drivers, $defaultPayDrivers, 'getDrivers returns the default PayDrivers');
136+
cmp_deeply( $drivers, $defaultPayDrivers, 'getDrivers returns the default PayDrivers')
137+
or diag Dumper $drivers;
136138

137139
#######################################################################
138140
#

0 commit comments

Comments
 (0)
Please sign in to comment.