start fixing test for multi cat phenotype upload.
[sgn.git] / t / selenium2 / solgs / genetic_gain.t
blob7e87a83616ee91fac876829af10c858ed9af12a5
2 use strict;
4 use lib 't/lib';
6 use Test::More;
7 use SGN::Test::WWW::WebDriver;
8 use SGN::Test::Fixture;
9 use SGN::Test::solGSData;
10 use Config::Any;
12 my $d = SGN::Test::WWW::WebDriver->new();
13 my $f = SGN::Test::Fixture->new();
15 my $solgs_data = SGN::Test::solGSData->new({'fixture' => $f, 'accessions_list_subset' => 60, 'plots_list_subset' => 60});
16 my $cache_dir = $solgs_data->site_cluster_shared_dir();
18 `rm -r $cache_dir`;
19 sleep(5);
21 $d->while_logged_in_as("submitter", sub {
22     sleep(2);
23     $d->get('/solgs', 'solgs home page');
24     sleep(4);
25     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
26     sleep(5);
27     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
28     sleep(5);
29     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
30     sleep(3);
31     $d->find_element_ok('queue_job', 'id', 'submit job tr pop')->click();
32     sleep(2);
33     $d->find_element_ok('analysis_name', 'id', 'job queueing')->send_keys('Test Kasese Tr pop');
34     sleep(2);
35         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
36     sleep(2);
37     $d->find_element_ok('submit_job', 'id', 'submit')->click();
38     sleep(150);
39     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
40     sleep(5);
41     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
42     sleep(5);
43     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
44     sleep(5);
45     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
46     sleep(10);
49    # #  #trial type training population: single trait modeling
51     $d->find_element_ok('dry matter', 'partial_link_text',  'build model')->click();
52     sleep(3);
53     $d->find_element_ok('queue_job', 'id', 'no job queueing')->click();
54     sleep(2);
55     $d->find_element_ok('analysis_name', 'id', 'fill in modeling job name')->send_keys('Test DMCP model Kasese');
56     sleep(2);
57         $d->find_element_ok('user_email', 'id', 'fill user email')->send_keys('email@email.com');
58     sleep(2);
59     $d->find_element_ok('submit_job', 'id', 'submit')->click();
60     sleep(150);
61     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
62     sleep(7);
64     $d->find_element_ok('dry matter', 'partial_link_text',  'build model')->click();
65     sleep(15);
67     my $sel_pred = $d->find_element('Predict', 'partial_link_text', 'scroll to selection pred');
68     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-70);", $sel_pred);
69     sleep(2);
70     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
71     sleep(2);
72     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
73     sleep(10);
74     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
75     sleep(5);
76     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
77     sleep(2);
78     $d->find_element_ok('analysis_name', 'id', 'fill in selection prediction job name')->send_keys('Test DMCP selection pred nacrri');
79     sleep(2);
80         $d->find_element_ok('user_email', 'id', 'fill user email')->send_keys('email@email.com');
81     sleep(2);
82     $d->find_element_ok('submit_job', 'id', 'submit')->click();
83     sleep(180);
84     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
85     sleep(3);
87     my $sel_pred = $d->find_element('Predict', 'partial_link_text', 'scroll to selection pred');
88     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-70);", $sel_pred);
89     sleep(8);
90     $d->find_element_ok('DMCP', 'partial_link_text', 'go back')->click();
91     sleep(5);
92     
93     my $sel_pred = $d->find_element('Expected genetic gain', 'partial_link_text', 'scroll to GEBvs');
94     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $sel_pred);
95     sleep(2);
96     $d->find_element_ok('check_genetic_gain', 'id',  'run plot genetic gain')->click();
97     sleep(20);
98     $d->find_element_ok('boxplot', 'partial_link_text',  'checkout boxplot download link');
99     sleep(2);
101     $d->find_element_ok('Kasese solgs trial', 'partial_link_text', 'back to model page')->click();
102     sleep(5);
103         $d->find_element_ok('Kasese solgs trial', 'partial_link_text', 'back to training pop page')->click();
104         sleep(5);
106     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
107     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
108     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
109     sleep(3);
110     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
111     sleep(2);
112     $d->find_element_ok('analysis_name', 'id', 'job queueing')->send_keys('Test DMCP-FRW modeling  Kasese');
113     sleep(2);
114         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
115     sleep(2);
116     $d->find_element_ok('submit_job', 'id', 'submit')->click();
117     sleep(150);
118     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
119     sleep(5);
121 #####################
122         # $d->get('/solgs/population/139/gp/1');
123         # sleep(5);
124 #####################
126     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
127     sleep(1);
128     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
129     sleep(1);
130     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
131     sleep(20);
133     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
134     sleep(2);
135     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
136     sleep(5);
137     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
138     sleep(5);
139     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
140     sleep(2);
141     $d->find_element_ok('analysis_name', 'id', 'fill in job name')->send_keys('Test DMCP-FRW selection pred naccri');
142     sleep(2);
143         $d->find_element_ok('user_email', 'id', 'fill in user email')->send_keys('email@email.com');
144     sleep(2);
145     $d->find_element_ok('submit_job', 'id', 'submit')->click();
146     sleep(250);
148     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
149     sleep(5);
150    
151     my $sel_pred = $d->find_element('Expected genetic gain', 'partial_link_text', 'scroll to GEBvs');
152     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $sel_pred);
153     sleep(2);
154     $d->find_element_ok('gg_pops_select', 'id', 'select list sl pop')->click();
155     sleep(3);
156     $d->find_element_ok('//select[@id="gg_pops_select"]/option[text()="trial2 NaCRRI"]', 'xpath', 'select selection pop')->click();
157     sleep(3);
158     $d->find_element_ok('check_genetic_gain', 'id',  'run plot genetic gain')->click();
159     sleep(40);
160     $d->find_element_ok('boxplot', 'partial_link_text',  'check multi traits  boxplot download link');
161     sleep(3);
167 done_testing();