about summary refs log tree commit diff
path: root/test/lib
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/gntest.rb5
-rw-r--r--test/lib/link_checker.rb6
-rw-r--r--test/lib/mapping.rb58
-rw-r--r--test/lib/navigation.rb12
4 files changed, 72 insertions, 9 deletions
diff --git a/test/lib/gntest.rb b/test/lib/gntest.rb
new file mode 100644
index 00000000..865ef51d
--- /dev/null
+++ b/test/lib/gntest.rb
@@ -0,0 +1,5 @@
+require 'minitest/autorun'
+require 'mechanize'
+
+# ---- Use some default parameters if not set
+$host = "http://localhost:5003" if !$host
diff --git a/test/lib/link_checker.rb b/test/lib/link_checker.rb
index 15449144..36cb36c8 100644
--- a/test/lib/link_checker.rb
+++ b/test/lib/link_checker.rb
@@ -1,4 +1,6 @@
 
+SKIP = "mailto:"
+
 class LinkChecker
 end
 
@@ -12,7 +14,7 @@ describe LinkChecker 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/
+        if link.href !~ /#{SKIP}/ # /static\/dbdoc\/Hippocampus/ and link.href !~ /mailto:|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}"
@@ -34,7 +36,7 @@ describe LinkChecker do
       # 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/
+        if link.href !~ /#{SKIP}/ # /static\/dbdoc\/Hippocampus/ and link.href !~ /mailto:|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}"
diff --git a/test/lib/mapping.rb b/test/lib/mapping.rb
new file mode 100644
index 00000000..20e5bd40
--- /dev/null
+++ b/test/lib/mapping.rb
@@ -0,0 +1,58 @@
+# 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).
+
+require 'gntest'
+
+class MappingTest
+end
+
+describe MappingTest do
+  before do
+    @agent = Mechanize.new
+    @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt'
+  end
+
+  describe MappingTest do
+    it "pylmm mapping tool selection" do
+      url = $host+'/marker_regression'
+
+      json = JSON::load(File.read('test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json'))
+      json["method"] = "pylmm"
+      # p json
+      page = @agent.post(URI.encode(url), json)
+      # Unpacking the page is slow - somehow - but the run is enough as a test
+      # form = page.forms_with("marker_regression")[0]
+      # form.fields.select { |fld| fld.name == 'dataset' }.first.value.must_equal 'HC_M2_0606_P'
+      # form.fields.select { |fld| fld.name == 'value:BXD1' }.first.value.must_equal '6.749'
+    end
+  end
+
+  describe MappingTest do
+    it "R/qtl mapping tool selection" do
+      url = $host+'/marker_regression' # ?trait_id=1435395_s_at&dataset=HC_M2_0606_P'
+
+      json = JSON::load(File.read('test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json'))
+      # p json
+      page = @agent.post(URI.encode(url),
+                         json,
+                         ({'Content-Type' => 'application/x-www-form-urlencoded'}))
+      form = page.forms_with("marker_regression")[0]
+      p form
+      form.fields.select { |fld| fld.name == 'dataset' }.first.value.must_equal 'HC_M2_0606_P'
+      form.fields.select { |fld| fld.name == 'value:BXD1' }.first.value.must_equal "15.034"
+    end
+  end
+
+  describe MappingTest do
+    it "CIM mapping tool selection (using reaper)" do
+      url = $host+'/marker_regression'
+
+      json = JSON::load(File.read('test/data/input/mapping/1435395_s_at_HC_M2_0606_P.json'))
+      json["method"] = "reaper"
+      page = @agent.post(URI.encode(url), json)
+      form = page.forms_with("marker_regression")[0]
+      form.fields.select { |fld| fld.name == 'dataset' }.first.value.must_equal 'HC_M2_0606_P'
+      form.fields.select { |fld| fld.name == 'value:BXD1' }.first.value.must_equal "15.034"
+    end
+  end
+
+end
diff --git a/test/lib/navigation.rb b/test/lib/navigation.rb
index 676ee90c..ee9f41d2 100644
--- a/test/lib/navigation.rb
+++ b/test/lib/navigation.rb
@@ -1,16 +1,16 @@
 # 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
+class MappingTest
 end
 
-describe NavigationTest do
+describe MappingTest do
   before do
     @agent = Mechanize.new
     @agent.agent.http.ca_file = '/etc/ssl/certs/ca-certificates.crt'
   end
 
-  describe NavigationTest do
+  describe MappingTest do
     it "pyLMM mapping tool selection" do
       break if $options[:skip_broken]
       page = @agent.get($host+'/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P')
@@ -27,7 +27,7 @@ describe NavigationTest do
 
 end
 
-describe NavigationTest do
+describe MappingTest do
     it "R/qtl mapping tool selection" do
       break if $options[:skip_broken]
       page = @agent.get($host+'/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P')
@@ -38,8 +38,6 @@ describe NavigationTest do
       link = page.link_with(text: 'Compute')
       page = link.click
       puts page.uri
-      probe_link.uri.to_s.must_equal "/marker_regression" 
+      probe_link.uri.to_s.must_equal "/marker_regression"
     end
 end
-
-