123456789101112131415161718192021222324252627282930313233343536373839404142 |
- use strict;
- use warnings;
- use FindBin;
- use lib "$FindBin::Bin/lib";
- use TestRail::API;
- use Test::LWP::UserAgent::TestRailMock;
- use Test::More tests => 2;
- use Test::Fatal;
- use Test::Deep;
- use Scalar::Util ();
- use Capture::Tiny qw{capture};
- my $apiurl = $ENV{'TESTRAIL_API_URL'};
- my $login = $ENV{'TESTRAIL_USER'};
- my $pw = $ENV{'TESTRAIL_PASSWORD'};
- #Mock if nothing is provided
- my $is_mock = (!$apiurl && !$login && !$pw);
- ($apiurl,$login,$pw) = ('http://testrail.local','teodesian@cpan.org','fake') if $is_mock;
- my $tr = new TestRail::API($apiurl,$login,$pw,undef,1);
- #Mock if necesary
- $tr->{'debug'} = 0;
- $tr->{'browser'} = $Test::LWP::UserAgent::TestRailMock::mockObject if $is_mock;
- #This is a mock-only test.
- my $project = $tr->getProjectByName('zippy');
- my $suite = $tr->getTestSuiteByName($project->{'id'},'Master');
- my $section = $tr->getSectionByName($project->{'id'},$suite->{'id'},'Recursing section');
- my $children = $tr->getChildSections($project->{'id'},$section);
- my @expected = qw{child grandchild great-grandchild};
- my @actual = map {$_->{'name'} } @$children;
- cmp_bag(\@actual,\@expected,"Got child suites recursively");
- cmp_bag($tr->getChildSections($project->{'id'},{ 'suite_id' => 999999999999999, 'id' => 9999999999999999 }),[],"Nothing returned when bogus section passed");
- 1;
|