Add a readme for our test suite, fixes #27
[sgn.git] / t / phenome / qtl_analysis.t
blobf4fb0b9f116b97291eda5fc05c4b78ddb9344132
2 =head1 NAME
4 qtl_analysis.t - tests for cgi-bin/phenome/qtl_analysis.pl. This page takes 2 - 4 min to run R computations.
6 =head1 DESCRIPTION
8 Tests for cgi-bin/phenome/qtl_analysis.pl
11 =cut
13 use strict;
14 use warnings;
15 use Test::More;
16 use lib 't/lib';
17 use SGN::Test::WWW::Mechanize;
20     my $mech = SGN::Test::WWW::Mechanize->new;
22     $mech->get_ok(
23         '/phenome/qtl_analysis.pl?population_id=12&cvterm_id=39945',
24         ' got a qtl_analysis.pl page. (In case of failure, try to run it again. Takes 2 - 4 min to run R computations)' );
26     $mech->content_contains($_)
27       for (
28         'Population Details',
29         'QTLs',
30         'Phenotype Frequency Distribution',
31         'Phenotype Data',
32         'Literature Annotation',
33         'User comments',        
34       );
35     
36    
38     my @qtl_images = $mech->find_all_images(alt_regex => qr/chromosome/i );    
39     cmp_ok( scalar(@qtl_images), '>=', 12, 'got 12 or more qtl map images' );
40          
41    $mech->content_contains( 'lines', 'frequency distribution plot generated');
42    $mech->content_contains( 'Trait data', 'Phenotype data table generated');
43    $mech->content_contains( 'Abstract', 'abstract content');
44    $mech->content_contains( 'QTL genotype probability method',  'Legend for QTL map: key');
45    $mech->content_contains( 'Based on 95%',  'Legend for QTL map: value');
46    $mech->content_contains( 'Abstract', 'abstract content for qtl pub');
47    $mech->content_contains( 'Standard deviation', 'descriptive statistics for trait phenotype data');
49        
50    my $phenotype_download_link =
51       $mech->find_link( text_regex => qr/phenotype data/i );
52     ok( $phenotype_download_link, 'got a phenotype data download link' );
53    
54     $mech->links_ok( $phenotype_download_link->url,
55         'phenotype data download link works' );
56     
57     cmp_ok( length( $mech->content ),
58         '>=', 1000,
59         'got at least 1KB of data from the phenotype data download' );
61     my $genotype_download_link =
62       $mech->find_link( text_regex => qr/genotype data/i );
63     
64     ok( $genotype_download_link, 'got a genotype data  download link' );
65     
66     $mech->links_ok($genotype_download_link->url,
67         'genotype data download link works' );
68     
69     cmp_ok( length( $mech->content ),
70         '>=', 1000,
71         'got at least 1KB of data from the genotype data download' );
72    
75 done_testing;