use Test::More import => ['!pass'];
use strict;
use warnings;
use NGS with => {logger => 'file', log => 'error'}; # spare console from overload
use FindBin qw($Bin); # warn $Bin;
use Dancer2::Test apps => ['NGS'];
use Data::Dumper;
use Modern::Perl;
route_exists [GET => '/'], 'a route handler is defined for /';
response_status_is [GET => '/vep'], 200, 'response status is 200 for /';
# can pass data-file:
my %files = (
# data_file => 'A test string that will pretend to be file contents.',
name => 'data_src',
filename => $Bin .'/data/003_data.txt',
);
my %params = (
check_existing => 1,
coding_only => 1,
regulatory => 1,
data_src => 'data.txt',
polyphen => 'b',
sift => 'b',
);
my $response = dancer_response( POST => '/vep', {
headers => [ [ Content_Type => 'form-data' ] ],
params => \%params,
files => [ \%files ],
}
); # warn Dumper $response->{content};
response_status_is $response => 200;
# ASXL exon 12.7 [120]
response_content_like $response => qr(ASXL exon 12.7 \[120\]);
response_content_like $response => qr(missense_variant);
response_content_unlike $response => qr(downstream_gene_variant);
response_content_like $response => qr(Processed 1 accepted rows);
response_content_like $response => qr(Sample results \[1\]);
response_content_like $response => qr(Sample match failures \[0\]);
response_content_like $response => qr(VEP results \[2\]);
response_content_like $response => qr(VEP orphans \[0\]);
# repeat with 'variants in coding regions only' off:
{
local $params{coding_only} = 0;
$response = dancer_response( POST => '/vep', {
headers => [ [ Content_Type => 'form-data' ] ],
params => \%params,
files => [ \%files ],
});
response_content_like $response => qr(downstream_gene_variant);
response_content_like $response => qr(VEP results \[4\]);
} # warn Dumper \%params;
done_testing;