# tests $filename file upload, initially invalid, then valid:
use NGS::Test::Common; # imports all required modules (NGS, Plack::Test, etc)
my $app = NGS->to_app;
my $test = Plack::Test->create($app);
say '###################################';
say "this test may take some time .....";
say '###################################';
{ # invalid filename:
my $filename = 'single.vcf';
my @content = content_with_static_file($filename); # can return either array, or arrayref
my $response = $test->request( POST '/vep', @content ); # print_response($response);
is( $response->code, 200, '[POST /vep] success' );
like( $response->content, qr/Internal Server Error/ );
like( $response->content, qr/filename format error/ );
}
{ # valid filename:
my $filename = '874-12.vcf';
my @content = content_with_static_file($filename); # can return either array, or arrayref
my $response = $test->request( POST '/vep', @content ); # print_response($response);
like( $response->content, qr/Sample results for data src "$filename" \[5\]/);
like( $response->content, qr/$_/ ) for (
# qq!Sample results for data src "$filename" \[5\]!, # doesn't match - wtf??
'Processed 5 vep input rows',
'5 accepted/filtered rows',
'8 total source file rows',
'sample match failures \[0\]',
'VEP results \[23\]',
'non-CDS \[0\]',
);
}
done_testing(10);