Google-RestApi
view release on metacpan or search on metacpan
t/unit/Test/Google/RestApi/SheetsApi4/Spreadsheet.pm view on Meta::CPAN
package Test::Google::RestApi::SheetsApi4::Spreadsheet;
use Test::Unit::Setup;
use Time::HiRes qw(sleep);
use Google::RestApi::Types qw( :all );
use aliased 'Google::RestApi::SheetsApi4';
use aliased 'Google::RestApi::SheetsApi4::Spreadsheet';
use parent 'Test::Unit::TestBase';
init_logger;
sub _constructor : Tests(7) {
my $self = shift;
throws_ok sub { Spreadsheet->new(sheets_api => mock_sheets_api()) },
qr/At least one of/i,
'Constructor with missing params should throw';
my $ms = $self->mock_spreadsheet();
my $ms_id = $ms->spreadsheet_id;
ok my $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), id => $ms_id), 'Constructor should have succeeded';
isa_ok $ss, Spreadsheet, 'Constructor with "id" returns';
ok $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => mock_spreadsheet_name()),
'Constructor with "name" should succeed';
isa_ok $ss, Spreadsheet, 'Constructor with "name" returns';
ok $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), uri => $self->mock_spreadsheet_uri()),
'Constructor with "uri`" should succeed';
isa_ok $ss, Spreadsheet, 'Constructor with "uri" returns';
return;
}
sub api : Tests(2) {
my $self = shift;
my $ss = $self->mock_spreadsheet();
is_valid $ss->api(), HashRef, 'Get returns hashref';
my $transaction = $ss->rest_api()->transaction();
is $transaction->{request}->{uri}, sheets_endpoint() . "/" . $self->mock_spreadsheet_id(),
'Request base spreadsheet uri string is valid';
return;
}
sub spreadsheet_id : Tests(4) {
my $self = shift;
my $ms = $self->mock_spreadsheet();
my $ms_id = $ms->spreadsheet_id;
# $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => mock_spreadsheet_name2());
# throws_ok sub { $ss->spreadsheet_id(); }, qr/More than one/i, 'Spreadsheet with more than one name should throw';
my $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => 'no_such_spreadsheet');
throws_ok sub { $ss->spreadsheet_id(); }, qr/not found/i, 'Spreadsheet with no such name should throw';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), id => $ms_id);
is $ss->spreadsheet_id(), $ms_id, 'Spreadsheet with "id" returns "id"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => mock_spreadsheet_name());
is $ss->spreadsheet_id(), $ms_id, 'Spreadsheet with "name" returns "id"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), uri => $self->mock_spreadsheet_uri());
is $ss->spreadsheet_id(), $ms_id, 'Spreadsheet with "uri" returns "id"';
return;
}
sub spreadsheet_name : Tests(3) {
my $self = shift;
my $ms = $self->mock_spreadsheet();
my $ms_id = $ms->spreadsheet_id;
my $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), id => $ms_id);
is $ss->spreadsheet_name(), mock_spreadsheet_name(), 'Spreadsheet with "id" returns "name"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => mock_spreadsheet_name());
is $ss->spreadsheet_name(), mock_spreadsheet_name(), 'Spreadsheet with "name" returns "name"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), uri => $self->mock_spreadsheet_uri());
is $ss->spreadsheet_name(), mock_spreadsheet_name(), 'Spreadsheet with "uri" returns "name"';
return;
}
sub spreadsheet_uri : Tests(3) {
my $self = shift;
my $ms = $self->mock_spreadsheet();
my $ms_id = $ms->spreadsheet_id;
my $ss = Spreadsheet->new(sheets_api => mock_sheets_api(), id => $ms_id);
is $ss->spreadsheet_uri(), $self->mock_spreadsheet_uri(), 'Spreadsheet with "id" returns "uri"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), name => mock_spreadsheet_name());
is $ss->spreadsheet_uri(), $self->mock_spreadsheet_uri(), 'Spreadsheet with "name" returns "uri"';
$ss = Spreadsheet->new(sheets_api => mock_sheets_api(), uri => $self->mock_spreadsheet_uri());
( run in 1.380 second using v1.01-cache-2.11-cpan-c966e8aa7e8 )