start fixing test for multi cat phenotype upload.
[sgn.git] / t / selenium2 / solgs / selection_index.t
blob628f1b0d8b49bf4c8b025cfe17dbc29885d015a1
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;
11 my $d = SGN::Test::WWW::WebDriver->new();
12 my $f = SGN::Test::Fixture->new();
14 my $solgs_data = SGN::Test::solGSData->new({'fixture' => $f, 'accessions_list_subset' => 60, 'plots_list_subset' => 60});
15 my $cache_dir = $solgs_data->site_cluster_shared_dir();
16 print STDERR "\nsite_cluster_shared_dir-- $cache_dir\n";
19 my $accessions_list =  $solgs_data->load_accessions_list();
20 # my $accessions_list = $solgs_data->get_list_details('accessions');
21 my $accessions_list_name = $accessions_list->{list_name};
22 my $accessions_list_id = 'list_' . $accessions_list->{list_id};
23 print STDERR "\naccessions list: $accessions_list_name -- $accessions_list_id\n";
24 my $plots_list =  $solgs_data->load_plots_list();
25 # my $plots_list =  $solgs_data->get_list_details('plots');
26 my $plots_list_name = $plots_list->{list_name};
27 my $plots_list_id = 'list_' . $plots_list->{list_id};
29 print STDERR "\nadding trials list '\n";
30 my $trials_list =  $solgs_data->load_trials_list();
31 # my $trials_list =  $solgs_data->get_list_details('trials');
32 my $trials_list_name = $trials_list->{list_name};
33 my $trials_list_id = 'list_' . $trials_list->{list_id};
34 print STDERR "\nadding trials dataset\n";
35 # my $trials_dt =  $solgs_data->get_dataset_details('trials');
36 my $trials_dt = $solgs_data->load_trials_dataset();
37 my $trials_dt_name = $trials_dt->{dataset_name};
38 my $trials_dt_id = 'dataset_' . $trials_dt->{dataset_id};
39 print STDERR "\nadding accessions dataset\n";
40 # my $accessions_dt =  $solgs_data->get_dataset_details('accessions');
41 my $accessions_dt = $solgs_data->load_accessions_dataset();
42 my $accessions_dt_name = $accessions_dt->{dataset_name};
43 my $accessions_dt_id = 'dataset_' . $accessions_dt->{dataset_id};
45 print STDERR "\nadding plots dataset\n";
46 # my $plots_dt =  $solgs_data->get_dataset_details('plots');
47 my $plots_dt = $solgs_data->load_plots_dataset();
48 my $plots_dt_name = $plots_dt->{dataset_name};
49 my $plots_dt_id = 'dataset_' . $plots_dt->{dataset_id};
51 #$accessions_dt_name = '' . $accessions_dt_name . '';
52 print STDERR "\ntrials dt: $trials_dt_name -- $trials_dt_id\n";
53 print STDERR "\naccessions dt: $accessions_dt_name -- $accessions_dt_id\n";
54 print STDERR "\nplots dt: $plots_dt_name -- $plots_dt_id\n";
56 print STDERR "\ntrials list: $trials_list_name -- $trials_list_id\n";
57 print STDERR "\naccessions list: $accessions_list_name -- $accessions_list_id\n";
58 print STDERR "\nplots list: $plots_list_name -- $plots_list_id\n";
60 `rm -r $cache_dir`;
61 sleep(5);
63 $d->while_logged_in_as("submitter", sub {
64     sleep(2);
65     $d->get('/solgs', 'solgs home page');
66     sleep(4);
67     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
68     sleep(5);
69     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
70     sleep(5);
71     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
72     sleep(3);
73     $d->find_element_ok('queue_job', 'id', 'submit job tr pop')->click();
74     sleep(2);
75     $d->find_element_ok('analysis_name', 'id', 'job queueing')->send_keys('Test Kasese Tr pop');
76     sleep(2);
77         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
78     sleep(2);
79     $d->find_element_ok('submit_job', 'id', 'submit')->click();
80     sleep(90);
81     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
82     sleep(5);
83     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
84     sleep(5);
85     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
86     sleep(5);
87     $d->find_element_ok('Kasese', 'partial_link_text', 'create training pop')->click();
88     sleep(15);
91     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
92     sleep(1);
93     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
94     sleep(1);
95     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
96     sleep(3);
97     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
98     sleep(2);
99     $d->find_element_ok('analysis_name', 'id', 'job queueing')->send_keys('Test DMCP-FRW modeling  Kasese');
100     sleep(2);
101         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
102     sleep(2);
103     $d->find_element_ok('submit_job', 'id', 'submit')->click();
104     sleep(150);
105     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
106     sleep(3);
107     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
108     sleep(1);
109     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
110     sleep(1);
111     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
112     sleep(5);
114     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
115     sleep(2);
116     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
117     sleep(5);
118     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
119     sleep(5);
120     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
121     sleep(2);
122     $d->find_element_ok('analysis_name', 'id', 'job queueing')->send_keys('Test DMCP-FRW selection pred naccri');
123     sleep(2);
124         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
125     sleep(2);
126     $d->find_element_ok('submit_job', 'id', 'submit')->click();
127     sleep(170);
128     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
129     sleep(10);
132     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
133     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
134     sleep(5);
135     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
136     sleep(3);
137     $d->find_element_ok('//select[@id="si_pops_select"]/option[text()="Kasese solgs trial"]', 'xpath', 'select trial type tr pop')->click();
138     sleep(3);
139     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(3);
140     sleep(5);
141     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(5);
142     sleep(5);
143     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
144     sleep(80);
146     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
147     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-10);", $si);
148     sleep(5);
149     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Values")]', 'xpath', 'check caption')->click();
150     sleep(2);
151     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'check caption')->click();
152     sleep(2);
153     # $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Indices")]', 'xpath', 'check caption')->click();
154     # sleep(2);
156     $d->driver->refresh();
157     sleep(2);
159     my $cor = $d->find_element('selection index', 'partial_link_text', 'scroll up');
160     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $cor);
161     sleep(5);
162     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
163     sleep(3);
164     $d->find_element_ok('//select[@id="si_pops_select"]/option[text()="trial2 NaCRRI"]', 'xpath', 'select trial type tr pop')->click();
165     sleep(3);
166     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(2);
167     sleep(5);
168     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(4);
169     sleep(5);
170     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
171     sleep(60);
173     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
174     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-10);", $si);
175     sleep(5);
176     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Values")]', 'xpath', 'check caption')->click();
177     sleep(2);
178     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'check caption')->click();
179     sleep(2);
180     # $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Indices")]', 'xpath', 'check caption')->click();
181     # sleep(2);
184     `rm -r $cache_dir`;
185     $d->get('/solgs');
187     sleep(2);
188     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
189     sleep(2);
190     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
191     sleep(1);
192     $d->find_element_ok('population_search_entry', 'id', 'population search form')->clear();
193     sleep(2);
194     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 nacrri');
195     sleep(5);
196     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
197     sleep(5);
199     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="139"]', 'xpath', 'select trial kasese')->click();
200     sleep(2);
201     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="141"]', 'xpath', 'select trial nacrri')->click();
202     sleep(2);
203     $d->find_element_ok('select_trials_btn', 'id', 'done selecting')->click();
204     sleep(2);
205     $d->find_element_ok('combine_trait_trials', 'id', 'combine trials')->click();
206     sleep(3);
207     $d->find_element_ok('queue_job', 'id', 'submit job tr pop')->click();
208     sleep(2);
209     $d->find_element_ok('analysis_name', 'id', 'analysis name')->send_keys('combined trials');
210     sleep(2);
211     $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
212     sleep(2);
213     $d->find_element_ok('submit_job', 'id', 'submit')->click();
214     sleep(200);
215     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
216     sleep(3);
219     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('Kasese solgs trial');
220     sleep(2);
221     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
222     sleep(3);
223     $d->find_element_ok('population_search_entry', 'id', 'population search form')->clear();
224     sleep(2);
225     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 nacrri');
226     sleep(5);
227     $d->find_element_ok('search_training_pop', 'id', 'search for training pop')->click();
228     sleep(5);
230     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="139"]', 'xpath', 'select trial kasese')->click();
231     sleep(3);
232     $d->find_element_ok('//table[@id="searched_trials_table"]//input[@value="141"]', 'xpath', 'select trial nacrri')->click();
233     sleep(3);
234     $d->find_element_ok('select_trials_btn', 'id', 'done selecting')->click();
235     sleep(3);
236     $d->find_element_ok('combine_trait_trials', 'id', 'combine trials')->click();
237     sleep(20);
239     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
240     sleep(1);
241     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
242     sleep(1);
243     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
244     sleep(10);
245     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
246     sleep(2);
247     $d->find_element_ok('analysis_name', 'id', 'analysis name')->send_keys('Test DMCP-FRW modeling combo trials');
248     sleep(2);
249         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
250         sleep(2);
251     $d->find_element_ok('submit_job', 'id', 'submit')->click();
252     sleep(180);
253     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
254     sleep(3);
256     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[1]/td/input', 'xpath', 'select 1st trait')->click();
257     sleep(1);
258     $d->find_element_ok('//table[@id="population_traits_list"]/tbody/tr[2]/td/input', 'xpath', 'select 2nd trait')->click();
259     sleep(1);
260     $d->find_element_ok('runGS', 'id',  'build multi models')->click();
261     sleep(5);
263     $d->find_element_ok('population_search_entry', 'id', 'population search form')->send_keys('trial2 NaCRRI');
264     sleep(5);
265     $d->find_element_ok('search_selection_pop', 'id', 'search for selection pop')->click();
266     sleep(20);
267     $d->find_element_ok('//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]', 'xpath', 'click training pop')->click();
268     sleep(5);
269     $d->find_element_ok('queue_job', 'id', 'job queueing')->click();
270     sleep(2);
271     $d->find_element_ok('analysis_name', 'id', 'analysis name')->send_keys('Test DMCP-FRW selection pred naccri');
272     sleep(2);
273         $d->find_element_ok('user_email', 'id', 'user email')->send_keys('email@email.com');
274         sleep(2);
275     $d->find_element_ok('submit_job', 'id', 'submit')->click();
276     sleep(150);
277     $d->find_element_ok('Go back', 'partial_link_text', 'go back')->click();
278     sleep(5);
280     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
281     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $si);
282     sleep(5);
283     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
284     sleep(3);
285     $d->find_element_ok('//select[@id="si_pops_select"]/option[contains(text(), "Training population 280")]', 'xpath', 'select trial type tr pop')->click();
286     sleep(3);
287     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(3);
288     sleep(5);
289     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(5);
290     sleep(5);
291     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
292     sleep(80);
294     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
295     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-10);", $si);
296     sleep(5);
297     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Values")]', 'xpath', 'check caption')->click();
298     sleep(2);
299     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'check caption')->click();
300     sleep(2);
302     $d->driver->refresh();
303     sleep(2);
304     
305     my $cor = $d->find_element('selection index', 'partial_link_text', 'scroll up');
306     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);", $cor);
307     sleep(5);
308     $d->find_element_ok('si_pops_select', 'id', 'select list sl pop')->click();
309     sleep(3);
310     $d->find_element_ok('//select[@id="si_pops_select"]/option[text()="trial2 NaCRRI"]', 'xpath', 'select trial type tr pop')->click();
311     sleep(3);
312     $d->find_element_ok('DMCP', 'id', 'rel wt 1st')->send_keys(2);
313     sleep(5);
314     $d->find_element_ok('FRW', 'id', 'rel wt 2st')->send_keys(4);
315     sleep(5);
316     $d->find_element_ok('calculate_si', 'id',  'calc selection index')->click();
317     sleep(60);
319     my $si = $d->find_element('selection index', 'partial_link_text', 'scroll up');
320     $d->driver->execute_script( "arguments[0].scrollIntoView(true);window.scrollBy(0,-10);", $si);
321     sleep(5);
322     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Values")]', 'xpath', 'check caption')->click();
323     sleep(2);
324     $d->find_element_ok('//div[@id="si_canvas"]//*[contains(text(), "Index Name")]', 'xpath', 'check caption')->click();
325     sleep(2);
327     foreach my $list_id ($trials_list_id, $accessions_list_id, $plots_list_id) {
328         $list_id =~ s/\w+_//g;
329         $solgs_data->delete_list($list_id);
330     }
332     foreach my $dataset_id ($trials_dt_id, $accessions_dt_id, $plots_dt_id) {
333         $dataset_id =~ s/\w+_//g;
334         $solgs_data->delete_dataset($dataset_id);
335     }
341 done_testing();