all Shop/Vendor API methods are tested
This commit is contained in:
parent
53204db366
commit
6d3ec1e478
1 changed files with 54 additions and 2 deletions
|
|
@ -31,7 +31,7 @@ my $session = WebGUI::Test->session;
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Tests
|
# Tests
|
||||||
|
|
||||||
my $tests = 40;
|
my $tests = 44;
|
||||||
plan tests => 1 + $tests;
|
plan tests => 1 + $tests;
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
@ -39,14 +39,19 @@ plan tests => 1 + $tests;
|
||||||
|
|
||||||
my $loaded = use_ok('WebGUI::Shop::Vendor');
|
my $loaded = use_ok('WebGUI::Shop::Vendor');
|
||||||
|
|
||||||
my $vendor;
|
my ($vendor, $guard, $numberOfVendors);
|
||||||
my ($fence, $fenceCopy);
|
my ($fence, $fenceCopy);
|
||||||
my $fenceUser = WebGUI::User->new($session, 'new');
|
my $fenceUser = WebGUI::User->new($session, 'new');
|
||||||
|
$fenceUser->username('fence');
|
||||||
|
my $guardUser = WebGUI::User->new($session, 'new');
|
||||||
|
$guardUser->username('guard');
|
||||||
|
|
||||||
SKIP: {
|
SKIP: {
|
||||||
|
|
||||||
skip 'Unable to load module WebGUI::Shop::Vendor', $tests unless $loaded;
|
skip 'Unable to load module WebGUI::Shop::Vendor', $tests unless $loaded;
|
||||||
|
|
||||||
|
$numberOfVendors = scalar @{ WebGUI::Shop::Vendor->getVendors($session) };
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
#
|
#
|
||||||
# new
|
# new
|
||||||
|
|
@ -179,6 +184,7 @@ cmp_deeply(
|
||||||
|
|
||||||
$currentProps->{name} = 'Jake the Raven';
|
$currentProps->{name} = 'Jake the Raven';
|
||||||
is($fence->get('name'), 'Warden Norton', 'get: No leakage returned hashref');
|
is($fence->get('name'), 'Warden Norton', 'get: No leakage returned hashref');
|
||||||
|
$fence->update({name => 'Bogs Diamond', });
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
#
|
#
|
||||||
|
|
@ -235,6 +241,50 @@ ok(!$e, 'newByUserId: No exception thrown with implicit user data');
|
||||||
isa_ok($fenceCopy, 'WebGUI::Shop::Vendor', 'newByUserId returns correct type of object using session user');
|
isa_ok($fenceCopy, 'WebGUI::Shop::Vendor', 'newByUserId returns correct type of object using session user');
|
||||||
is($fenceCopy->getId, $fence->getId, 'newByUserId returned the correct object using session user');
|
is($fenceCopy->getId, $fence->getId, 'newByUserId returned the correct object using session user');
|
||||||
|
|
||||||
|
my $defaultVendor = WebGUI::Shop::Vendor->newByUserId($session, 3);
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
#
|
||||||
|
# getVendors
|
||||||
|
#
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
$guard = WebGUI::Shop::Vendor->create($session, { userId => $guardUser->userId, name => q|Warden Norton|});
|
||||||
|
my $vendorsList = WebGUI::Shop::Vendor->getVendors($session);
|
||||||
|
cmp_deeply(
|
||||||
|
$vendorsList,
|
||||||
|
[ $guard, $fence, $defaultVendor, ],
|
||||||
|
'getVendors returns all 3 vendors as an array ref'
|
||||||
|
);
|
||||||
|
|
||||||
|
my $vendorsHash = WebGUI::Shop::Vendor->getVendors($session, { asHashRef => 1 });
|
||||||
|
cmp_deeply(
|
||||||
|
$vendorsHash,
|
||||||
|
{
|
||||||
|
$guard->getId => $guard->get('name'),
|
||||||
|
$fence->getId => $fence->get('name'),
|
||||||
|
$defaultVendor->getId => $defaultVendor->get('name'),
|
||||||
|
},
|
||||||
|
'getVendors returns all 3 vendors as an hash ref, when requested'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
#
|
||||||
|
# delete
|
||||||
|
#
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
$guard->delete();
|
||||||
|
$vendorsList = WebGUI::Shop::Vendor->getVendors($session);
|
||||||
|
cmp_deeply(
|
||||||
|
$vendorsList,
|
||||||
|
[ $fence, $defaultVendor, ],
|
||||||
|
'delete removed the correct vendor'
|
||||||
|
);
|
||||||
|
|
||||||
|
undef $guard;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
@ -242,4 +292,6 @@ is($fenceCopy->getId, $fence->getId, 'newByUserId returned the correct object us
|
||||||
END {
|
END {
|
||||||
$fence->delete;
|
$fence->delete;
|
||||||
$fenceUser->delete;
|
$fenceUser->delete;
|
||||||
|
$guardUser->delete;
|
||||||
|
is( scalar @{ WebGUI::Shop::Vendor->getVendors($session) }, $numberOfVendors, 'No vendors leaked');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue