about summary refs log tree commit diff
path: root/test
diff options
context:
space:
mode:
authorLei Yan2016-06-16 18:21:01 +0000
committerLei Yan2016-06-16 18:21:01 +0000
commit4fec0e6fc0772785a30451d417082bc189f2f6dd (patch)
tree6548c2d088d5a80561e23df076456caaeda195c7 /test
parente55f38a72d47fbdf5f652a08e8da1db78f1dcdb5 (diff)
parentd90dc3748557d1d6fbaa59f71fe676b8a7c393ca (diff)
downloadgenenetwork2-4fec0e6fc0772785a30451d417082bc189f2f6dd.tar.gz
Merge /home/gn2/gene
Diffstat (limited to 'test')
-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