start fixing test for multi cat phenotype upload.
[sgn.git] / t / selenium2 / solgs / correlation.t
blobe8c54c7e7e2329121a8c18f8d711c91608be1e12
1 use strict;
3 use lib 't/lib';
5 use Test::More;
6 use SGN::Test::WWW::WebDriver;
7 use SGN::Test::Fixture;
8 use SGN::Test::solGSData;
10 my $d = SGN::Test::WWW::WebDriver->new();
11 my $f = SGN::Test::Fixture->new();
13 my $solgs_data = SGN::Test::solGSData->new({'fixture' => $f, 'accessions_list_subset' => 160, 'plots_list_subset' => 160});
14 my $cache_dir = $solgs_data->site_cluster_shared_dir();
16 my $plots_list =  $solgs_data->load_plots_list();
17 my $plots_list_name = $plots_list->{list_name};
18 my $plots_list_id = 'list_' . $plots_list->{list_id};
20 my $trials_list =  $solgs_data->load_trials_list();
21 my $trials_list_name = $trials_list->{list_name};
22 my $trials_list_id = 'list_' . $trials_list->{list_id};
24 my $trials_dt = $solgs_data->load_trials_dataset();
25 my $trials_dt_name = $trials_dt->{dataset_name};
26 my $trials_dt_id = 'dataset_' . $trials_dt->{dataset_id};
28 my $plots_dt = $solgs_data->load_plots_dataset();
29 my $plots_dt_name = $plots_dt->{dataset_name};
30 my $plots_dt_id = 'dataset_' . $plots_dt->{dataset_id};
33 `rm -r  $cache_dir`;
34 sleep(5);
36 $d->while_logged_in_as("submitter", sub {
37     sleep(2);
39     $d->get_ok('/correlation/analysis', 'correlation home page');
40     sleep(5);
42     $d->find_element_ok('//tr[@id="' . $plots_list_id .'"]//*[starts-with(@id, "run_correlation")]', 'xpath', 'run correlation')->click();
43     sleep(200);
44     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
45     sleep(5);
46     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table'); 
47     sleep(2);
49     $d->driver->refresh();
50     sleep(5);
52     $d->find_element_ok('//tr[@id="' . $trials_list_id .'"]//*[starts-with(@id, "run_correlation")]', 'xpath', 'run correlation')->click();
53     sleep(200);
54    $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
55     sleep(5);
56     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table'); 
57     sleep(2);
59     $d->driver->refresh();
60     sleep(5);
62     $d->find_element_ok('//tr[@id="' . $plots_dt_id .'"]//*[starts-with(@id, "run_correlation")]', 'xpath', 'run correlation')->click();
63     sleep(200);
64     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
65     sleep(5);
66     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table'); 
67     sleep(2);
69     $d->driver->refresh();
70     sleep(5);
72     `rm -r $cache_dir`;
74     $d->find_element_ok('//tr[@id="' . $trials_dt_id .'"]//*[starts-with(@id, "run_correlation")]', 'xpath', 'run correlation')->click();
75     sleep(200);
76     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
77     sleep(5);
78     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table'); 
79     sleep(2);
82     `rm -r $cache_dir`;
83     sleep(3);
85     ########## trial detail page ##########
86     $d->get_ok('/breeders/trial/139', 'trial detail home page');
87     sleep(5);
88     my $analysis_tools = $d->find_element('Analysis Tools', 'partial_link_text', 'toogle analysis tools');
89     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-50);", $analysis_tools);
90     sleep(5);
91     $d->find_element_ok('Analysis Tools', 'partial_link_text', 'toogle analysis tools')->click();
92     sleep(5);
93     $d->find_element_ok('Phenotypic correlation', 'partial_link_text', 'expand correlation')->click();
94     sleep(1);
95     $d->find_element_ok('run_correlation', 'id', 'run correlation')->click();
96     sleep(200);
97     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot -- trial detail page')->click();
98     sleep(5);
99     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table');
100     sleep(2);
102     `rm -r $cache_dir`;
104     ########## solGS ##########
105     $d->get('/solgs', 'solgs home page');
106     sleep(3);
107     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
108     sleep(5);
109     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
110     sleep(5);
111     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
112     sleep(3);
113     $d->find_element_ok('queue_job', 'id', 'submit job tr pop')->click();
114     sleep(2);
115     $d->find_element_ok('analysis_name', 'id', 'no job queueing')->send_keys('Test Kasese Tr pop');
116     sleep(2);
117     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
118         sleep(2);
119     $d->find_element_ok('submit_job', 'id', 'submit')->click();
120     sleep(200);
121     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
122     sleep(3);
123     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
124     sleep(5);
125     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
126     sleep(5);
127     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
128     sleep(15);
130     my $corr = $d->find_element('Phenotypic correlation', 'partial_link_text', 'scroll to correlation');
131     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-170);", $corr);
132     sleep(2);
133     $d->find_element('ANOVA', 'partial_link_text', 'scroll to correlation')->click();
134     sleep(2);
135     $d->find_element_ok('run_correlation', 'id', 'run correlation')->click();
136     sleep(200);
137     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
138     sleep(5);
139     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table'); 
140     sleep(2);
142     $d->driver->refresh();
143     sleep(5);
145     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
146     sleep(2);
147     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
148     sleep(2);
149     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
150     sleep(3);
151     $d->find_element_ok('queue_job', 'id', 'no job queueing')->click();
152     sleep(2);
153     $d->find_element_ok('analysis_name', 'id', 'no job queueing')->send_keys('Test DMCP-FRW modeling  Kasese');
154     sleep(2);
155     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
156         sleep(2);
157     $d->find_element_ok('submit_job', 'id', 'submit')->click();
158     sleep(350);
159     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
160     sleep(3);
161     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
162     sleep(3);
163     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
164     sleep(3);
165     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
166     sleep(10);
168     # # # ###############################################################
169     #   $d->get_ok('solgs/traits/all/population/139/traits/1971973596/gp/1', 'models page');
170     #   sleep(15);
171     # # ######################################################################
172     #
173     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
174     sleep(2);
175     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
176     sleep(3);
177     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
178     sleep(5);
179     $d->find_element_ok('queue_job', 'id', 'no job queueing')->click();
180     sleep(2);
181     $d->find_element_ok('analysis_name', 'id', 'no job queueing')->send_keys('Test DMCP-FRW selection pred nacrri');
182     sleep(2);
183     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
184         sleep(2);
185     $d->find_element_ok('submit_job', 'id', 'submit')->click();
186     sleep(200);
187     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
188     sleep(15);
190     my $cor = $d->find_element('Genetic correlation', 'partial_link_text', 'scroll up');
191     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);", $cor);
192     sleep(5);
193     $d->find_element_ok('corr_pops_select', 'id', 'select list sl pop')->click();
194     sleep(3);
195     $d->find_element_ok('//select[@id="corr_pops_select"]/option[text()="Kasese solgs trial"]', 'xpath', 'select trial type tr pop')->click();
196     sleep(3);
197     $d->find_element_ok('run_genetic_correlation', 'id',  'calc gen corr')->click();
198     sleep(200);
199     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot')->click();
200     sleep(5);
202     $d->driver->refresh();
203     sleep(2);
204     my $cor = $d->find_element('Genetic correlation', 'partial_link_text', 'scroll up');
205     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);", $cor);
206     sleep(5);
207     $d->find_element_ok('corr_pops_select', 'id', 'select list sl pop')->click();
208     sleep(3);
209     $d->find_element_ok('//select[@id="corr_pops_select"]/option[text()="trial2 NaCRRI"]', 'xpath', 'select trial type tr pop')->click();
210     sleep(3);
211     $d->find_element_ok('run_genetic_correlation', 'id',  'calc gen corr')->click();
212     sleep(200);
213     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot')->click();
214     sleep(5);
217     my $si = $d->find_element('Selection index', 'partial_link_text', 'scroll up');
218     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
219     sleep(5);
220     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
221     sleep(3);
222     $d->find_element_ok('//select[@id="si_pops_select"]/option[contains(text(), "Kasese")]', 'xpath', 'select trial type tr pop')->click();
223     sleep(3);
224     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(3);
225     sleep(5);
226     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(5);
227     sleep(5);
228     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
229     sleep(250);
230     my $si = $d->find_element('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'scroll up');
231     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
232     sleep(5);
233    $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table');
234     sleep(2);
236     `rm -r $cache_dir`;
237     sleep(5);
239     $d->get('/solgs');
240     sleep(2);
241     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
242     sleep(2);
243     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
244     sleep(1);
245     $d->find_element_ok('population_search_entry', 'id', 'population search form')->clear();
246     sleep(2);
247     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 nacrri');
248     sleep(5);
249     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
250     sleep(5);
252     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="139"]', 'xpath', 'select trial kasese')->click();
253     sleep(2);
254     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="141"]', 'xpath', 'select trial nacrri')->click();
255     sleep(2);
256     $d->find_element_ok('select_trials_btn', 'id', 'done selecting')->click();
257     sleep(2);
258     $d->find_element_ok('combine_trait_trials', 'id', 'combine trials')->click();
259     sleep(3);
260     $d->find_element_ok('queue_job', 'id', 'submit job tr pop')->click();
261     sleep(2);
262     $d->find_element_ok('analysis_name', 'id', 'analysis name')->send_keys('combined trials');
263     sleep(2);
264     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
265     sleep(2);
266     $d->find_element_ok('submit_job', 'id', 'submit')->click();
267     sleep(250);
269     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
270     sleep(3);
272     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
273     sleep(2);
274     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
275     sleep(3);
276     $d->find_element_ok('population_search_entry', 'id', 'population search form')->clear();
277     sleep(2);
278     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 nacrri');
279     sleep(5);
280     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
281     sleep(5);
283     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="139"]', 'xpath', 'select trial kasese')->click();
284     sleep(3);
285     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="141"]', 'xpath', 'select trial nacrri')->click();
286     sleep(3);
287     $d->find_element_ok('select_trials_btn', 'id', 'done selecting')->click();
288     sleep(3);
289     $d->find_element_ok('combine_trait_trials', 'id', 'combine trials')->click();
290     sleep(20);
292     my $corr = $d->find_element('Phenotypic correlation', 'partial_link_text', 'scroll to correlation');
293     my $elem = $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-270);", $corr);
294     sleep(2);
295     $d->find_element('Acronyms', 'partial_link_text', 'scroll to correlation')->click();
296     sleep(1);
297     $d->find_element_ok('run_correlation', 'id', 'run correlation')->click();
298     sleep(200);
299     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
300     sleep(5);
301     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table');
302     sleep(2);
303     
304     $d->driver->refresh();
305     sleep(5);
307     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
308     sleep(2);
309     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
310     sleep(2);
311     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
312     sleep(3);
313     $d->find_element_ok('queue_job', 'id', 'no job queueing')->click();
314     sleep(2);
315     $d->find_element_ok('analysis_name', 'id', 'no job queueing')->send_keys('Test DMCP-FRW modeling  Kasese');
316     sleep(2);
317     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
318     sleep(2);
319     $d->find_element_ok('submit_job', 'id', 'submit')->click();
320     sleep(250);
321     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
322     sleep(3);
323     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
324     sleep(3);
325     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
326     sleep(3);
327     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
328     sleep(10);
331     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
332     sleep(2);
333     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
334     sleep(30);
335     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
336     sleep(5);
337     $d->find_element_ok('queue_job', 'id', 'no job queueing')->click();
338     sleep(2);
339     $d->find_element_ok('analysis_name', 'id', 'no job queueing')->send_keys('Test DMCP-FRW selection pred nacrri');
340     sleep(2);
341     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
342         sleep(2);
343     $d->find_element_ok('submit_job', 'id', 'submit')->click();
344     sleep(250);
345     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
346     sleep(15);
348     my $cor = $d->find_element('Genetic correlation', 'partial_link_text', 'scroll up');
349     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);", $cor);
350     sleep(5);
351     $d->find_element_ok('corr_pops_select', 'id', 'select list sl pop')->click();
352     sleep(3);
353     $d->find_element_ok('//select[@id="corr_pops_select"]/option[text()="Training population 2804608595"]', 'xpath', 'select trial type tr pop')->click();
354     sleep(3);
355     $d->find_element_ok('run_genetic_correlation', 'id',  'calc gen corr')->click();
356     sleep(200);
357     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
358     sleep(5);
360     $d->driver->refresh();
361     sleep(2);
363     my $cor = $d->find_element('Genetic correlation', 'partial_link_text', 'scroll up');
364     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);", $cor);
365     sleep(5);
366     $d->find_element_ok('corr_pops_select', 'id', 'select list sl pop')->click();
367     sleep(3);
368     $d->find_element_ok('//select[@id="corr_pops_select"]/option[text()="trial2 NaCRRI"]', 'xpath', 'select trial type tr pop')->click();
369     sleep(3);
370     $d->find_element_ok('run_genetic_correlation', 'id',  'calc gen corr')->click();
371     sleep(200);
372     $d->find_element_ok('//div[@id="corr_canvas"]//*[contains(text(), "DMCP")]', 'xpath', 'check corr plot');
373     sleep(5);
375     my $si = $d->find_element('Selection index', 'partial_link_text', 'scroll up');
376     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
377     sleep(5);
378     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
379     sleep(3);
380     $d->find_element_ok('//select[@id="si_pops_select"]/option[contains(text(), "Training population")]', 'xpath', 'select trial type tr pop')->click();
381     sleep(3);
382     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(3);
383     sleep(5);
384     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(5);
385     sleep(5);
386     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
387     sleep(250);
388     my $si = $d->find_element('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'scroll up');
389    sleep(1);
390     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
391     sleep(2);
392     $d->find_element_ok('coefficients', 'partial_link_text',  'download corr coef table');
393     sleep(2);
395    
396     foreach my $list_id ($trials_list_id,  $plots_list_id) {
397         $list_id =~ s/\w+_//g;
398         $solgs_data->delete_list($list_id);
399     }
401     foreach my $dataset_id ($trials_dt_id,  $plots_dt_id) {
402         $dataset_id =~ s/\w+_//g;
403         $solgs_data->delete_dataset($dataset_id);
404     }
409 done_testing();