RSS Git Download  Clone
Raw Blame History
use Test::More import => ['!pass'];

use strict;
use warnings;

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;

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 = (
	name => 'data_src',
	filename => $Bin .'/data/006_data.txt',
);

my %params = (
    check_existing => 1,
    coding_only    => 1,
    regulatory     => 1,
    data_src       => '006_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;

# K-Ras exon 2.1 [137] - VEP orphan
response_content_like $response => qr(K-Ras exon 2.1 \[137\]);
response_content_like $response => qr(Processed 1 accepted rows);
response_content_like $response => qr(Sample results \[0\]);
response_content_like $response => qr(Sample match failures \[1\]);
response_content_like $response => qr(VEP results \[0\]);
response_content_like $response => qr(VEP orphans \[1\]);
response_content_unlike $response => qr(variant); # none

done_testing;