Biblio-Refbase
view release on metacpan or search on metacpan
t/04-methods.t view on Meta::CPAN
#
# search
#
can_ok $refbase, 'search';
eval { $refbase->search( foo => 'bar' ) };
like $@, qr/^Unknown arguments/, 'search failed as expected due to unknown arguments';
my %fields = (
author => undef,
title => undef,
type => undef,
year => undef,
publication => undef,
abbrev_journal => undef,
keywords => undef,
abstract => undef,
thesis => undef,
area => undef,
notes => undef,
location => undef,
serial => undef,
date => undef,
);
SKIP: {
skip NO_INTERNET, 9 unless $internet;
my $response = eval { $refbase->search( %fields, rows => 1 ) };
unlike $@, qr/^Unknown arguments/, 'no unknown search fields';
isa_ok $response, 'Biblio::Refbase::Response';
isa_ok $response, 'HTTP::Response';
can_ok $response, qw'is_success code hits content'
or skip 'response misses some methods', 5;
ok $response->is_success, 'refbase could handle search request';
is $response->code, HTTP_OK, 'status code is OK';
my $hits = $response->hits;
ok defined $hits, 'hits returned defined';
ok $hits > 0, 'search found some records'
or skip 'search found nothing', 1;
my $content = $response->content;
ok defined $content && length $content, 'search returned some records';
}
SKIP: {
skip NO_INTERNET, 2 unless $internet;
my $response = $refbase->search( user => 'let_me_fail' );
isa_ok $response, 'Biblio::Refbase::Response';
is $response->code, HTTP_UNAUTHORIZED, 'status code is UNAUTHORIZED';
}
#
# upload
#
can_ok $refbase, 'upload';
eval { $refbase->upload };
like $@, qr/^upload requires/, 'upload failed as expected due to missing argument';
eval { $refbase->upload( 'baz', foo => 'bar' ) };
like $@, qr/^Unknown arguments/, 'upload failed as expected due to unknown arguments';
eval { $refbase->upload( content => 'baz', foo => 'bar' ) };
like $@, qr/^Unknown arguments/, 'upload failed as expected due to unknown arguments';
eval { $refbase->upload( source_ids => 'baz', foo => 'bar' ) };
like $@, qr/^Unknown arguments/, 'upload failed as expected due to unknown arguments';
( run in 1.167 second using v1.01-cache-2.11-cpan-b16cb0d3907 )