aboutsummaryrefslogtreecommitdiff
path: root/test/lib
diff options
context:
space:
mode:
authorzsloan2016-05-18 20:06:41 +0000
committerzsloan2016-05-18 20:06:41 +0000
commitf8c89f7c24cbfcffdafd12ef2087f4de598ed4bd (patch)
treeca233c2f08151377de161a616e69031d557ff808 /test/lib
parente36ffce0d972334b07ee91b817fc3f30ed3598c4 (diff)
parenta8945cc625f12e9cf733f469426bf0e4b8e83647 (diff)
downloadgenenetwork2-f8c89f7c24cbfcffdafd12ef2087f4de598ed4bd.tar.gz
Merge branch 'staging' of https://github.com/genenetwork/genenetwork2
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/NavigationTest.rb46
-rw-r--r--test/lib/link_checker.rb48
-rw-r--r--test/lib/main_web_functionality.rb49
3 files changed, 143 insertions, 0 deletions
diff --git a/test/lib/NavigationTest.rb b/test/lib/NavigationTest.rb
new file mode 100644
index 00000000..26080d28
--- /dev/null
+++ b/test/lib/NavigationTest.rb
@@ -0,0 +1,46 @@
+# In these tests we navigate from the main page to a specific trait then hit the different mapping tool buttons (In this case pylMM and r/qtl) followed by computing the results (marker regressions).
+
+class NavigationTest
+end
+
+describe NavigationTest do
+ before do
+ @agent = Mechanize.new
+ @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt'
+ end
+
+ describe NavigationTest do
+ it "pyLMM mapping tool selection" do
+ page = @agent.get($host+'/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P')
+#Navigates to http://localhost:5003/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P and clicks respective buttons.
+ link = page.link_with(text: 'pyLMM')
+ page = link.click
+ puts page.uri
+ link = page.link_with(text: 'Compute')
+ page = link.click
+ puts page.uri
+ probe_link.uri.to_s.must_equal "/marker_regression"
+
+
+ end
+ end
+
+end
+
+describe NavigationTest do
+ it "R/qtl mapping tool selection" do
+ page = @agent.get($host+'/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P')
+ link = page.link_with(text: 'R/qtl')
+ page = link.click
+ puts page.uri
+ form.field_with(:name => 'Methods').options[2].select
+ link = page.link_with(text: 'Compute')
+ page = link.click
+ puts page.uri
+ probe_link.uri.to_s.must_equal "/marker_regression"
+
+
+ end
+ end
+
+
diff --git a/test/lib/link_checker.rb b/test/lib/link_checker.rb
new file mode 100644
index 00000000..fb201887
--- /dev/null
+++ b/test/lib/link_checker.rb
@@ -0,0 +1,48 @@
+
+class LinkChecker
+end
+
+describe LinkChecker do
+ before do
+ @agent = Mechanize.new
+ @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt'
+ end
+
+ it "Get to front page" do
+ page = @agent.get($host)
+ page.links.each do |link|
+ puts link.href
+ if link.href !~ /static\/dbdoc\/Hippocampus/ and link.href !~ /glossary.html|sample_r|grits.eecs.utk.edu|correlationAnnotation.html/
+ # Fetch link, program will crash with exception if link is broken
+ linkpage = @agent.get(link.href)
+ puts "Link to #{link.href} is valid, response code #{linkpage.code}"
+ end
+ end
+
+ end
+
+ describe LinkChecker do
+ it "Get to trait page" do
+ page = @agent.get($host+'/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P')
+ p page
+
+ # Get to trait page for 1435395_s_at
+ # form2 = show_trait_page.forms_with("trait_page")[0]
+ # form2.fields[30].name.must_equal "variance:C57BL/6J"
+ # form2.fields[30].value.must_equal "15.287"
+
+ # Test every link on the page to check if it's broken or not
+ page.links.each do |link|
+ puts link.href
+ if link.href !~ /static\/dbdoc\/Hippocampus/ and link.href !~ /glossary.html|sample_r|grits.eecs.utk.edu|correlationAnnotation.html/
+ # Fetch link, program will crash with exception if link is broken
+ linkpage = @agent.get(link.href)
+ puts "Link to #{link.href} is valid, response code #{linkpage.code}"
+ end
+ end
+
+ end
+
+ end
+
+end
diff --git a/test/lib/main_web_functionality.rb b/test/lib/main_web_functionality.rb
new file mode 100644
index 00000000..d0a32835
--- /dev/null
+++ b/test/lib/main_web_functionality.rb
@@ -0,0 +1,49 @@
+# In these tests we navigate from the main page to search
+
+class MainWebFunctionality
+end
+
+describe MainWebFunctionality do
+ before do
+ @agent = Mechanize.new
+ @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt'
+ end
+
+ describe MainWebFunctionality do
+ it "Get to trait page" do
+ page = @agent.get($host)
+ form = page.forms[1]
+ form.buttons[0].value.must_equal "Search"
+
+ # http://localhost:5003/search?species=mouse&group=BXD&type=Hippocampus+mRNA&dataset=HC_M2_0606_P&search_terms_or=&search_terms_and=MEAN%3D%2815+16%29+LRS%3D%2823+46%29&FormID=searchResult
+ form.fields[2].value = "MEAN=(15 16) LRS=(23 46)"
+ form.fields[3].value = "mouse"
+ form.fields[4].value = "BXD"
+ form.fields[5].value = "Hippocampus mRNA"
+ form.fields[6].value = "HC_M2_0606_P"
+ search_page = @agent.submit(form, form.buttons.first)
+ probe_link = search_page.links.find { |l| l.text =~ /1435395_s_at/ }
+ probe_link.uri.to_s.must_equal "/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P"
+ show_trait_page = probe_link.click
+ p show_trait_page
+
+ # Get to trait page for 1435395_s_at
+ form2 = show_trait_page.forms_with("trait_page")[0]
+ form2.fields[30].name.must_equal "variance:C57BL/6J"
+ # form2.fields[30].value.must_equal "15.287"
+
+ # Test every link on the page to check if it's broken or not
+ show_trait_page.links.each do |link|
+ puts link.href
+ if link.href !~ /static\/dbdoc\/Hippocampus/ and link.href !~ /glossary.html|sample_r|grits.eecs.utk.edu|correlationAnnotation.html/
+ # Fetch link, program will crash with exception if link is broken
+ linkpage = @agent.get(link.href)
+ puts "Link to #{link.href} is valid, response code #{linkpage.code}"
+ end
+ end
+
+ end
+
+ end
+
+end