aboutsummaryrefslogtreecommitdiff
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
-
-