BeastBB/t/01-response.t

63 lines
1.5 KiB
Perl

use 5.32.1;
use Test::Most tests => 7;
use Test::Warnings ':all';
use strict;
use warnings;
{
use_ok 'BeastBB::Response';
}
{
like(
warning {
BeastBB::Response->new(
is_error => 1,
content => 'example_content', error_message => 'example_error'
)
},
qr/Error should not have content/,
'BeastBB::Response warns on construction if is_error is true and content is passed.'
);
}
{
like(
warning {
BeastBB::Response->new(
is_error => 1,
)
},
qr/You should pass a error message on error\./,
'BeastBB::Response warns on construction if is_error is true and error message is not passed.'
);
}
{
my $response =
BeastBB::Response->new( is_error => 1, error_message => 'example error' );
throws_ok {
$response->Content;
}
qr/Attempt to get content from error\./,
'BeastBB::Response dies trying to recover content from error.';
}
{
my $response = BeastBB::Response->new( content => 'example_content' );
throws_ok {
$response->ErrorMessage;
}
qr/This is not an error\./,
'BeastBB::Response dies trying to recover error message if it is not an error.';
}
{
my $response =
BeastBB::Response->new( is_error => 1, error_message => 'example error' );
is $response->ErrorMessage, 'example error',
'ErrorMessage can be recovered from BeastBB::Response.';
}