use Test::More import => ['!pass'];
use NGS with => { logger => 'console', log => 'error' }; # spare console from overload
use FindBin qw($Bin); # warn $Bin;
use Dancer2::Test apps => ['NGS'];
use Data::Dumper;
use Modern::Perl;
require 't/test-lib.pl';
# decimal in variant
# test data ====================================================================
my @test_data = (
# 'normal' variant; needed to avoid 'ERROR: Could not detect input file format':
[
'DNMT3A exon 15',
'41:G/T',
'Accepted',
11.6, 163,
11.6, 163,
],
# non-standard variant format:
[
'FLT3-ITD 1',
'i(278.5,TGAGATCATATTCATATTTGAGATCATATTCATATT)',
'Accepted',
11.6, 163,
11.6, 163,
],
# variant contains decimal (invalid base):
[
'NPM1 exon 12.1',
'133.5:--/CC',
'Accepted',
11.6, 163,
11.6, 163,
],
);
# ==============================================================================
my $args = construct_request(\@test_data);
my $response = dancer_response( POST => '/vep', $args ); print_output($response);
response_status_is $response => 200; # exit;
response_content_like $response => qr(cannot split FLT3-ITD 1 variant);
response_content_like $response => qr(FLT3-ITD 1 omitted from VEP input);
response_content_like $response => qr(DNMT3A exon 15 \[41:G/T\]);
response_content_like $response => qr(NPM1 exon 12.1 \[133.5:--/CC\]);
response_content_like $response => qr(Sample match failures \[2\]);
response_content_like $response => qr(Non-CDS VEP results \[2\]);
response_content_like $response => qr(2 vep input rows);
response_content_like $response => qr(3 accepted/filtered rows);
response_content_like $response => qr(3 total source file rows);
done_testing;