about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbin/test-website37
-rw-r--r--test/lib/main_web_functionality.rb32
2 files changed, 69 insertions, 0 deletions
diff --git a/bin/test-website b/bin/test-website
new file mode 100755
index 00000000..b766edd8
--- /dev/null
+++ b/bin/test-website
@@ -0,0 +1,37 @@
+#!/usr/bin/env ruby
+
+
+USAGE = <<EOT
+This is Mechanical-Rob - an automated web server tester for 
+                         Genenetwork.org that uses the brilliant 
+                         mechanize gem.
+
+To use this software you need to install mechanize. Run it from
+the root of the genenetwork2 source tree as, for example,
+
+  ./bin/test-website http://localhost:5003/ (default)
+
+For more information see http://genenetwork.org/
+                        
+EOT
+
+libpath = File.dirname(File.dirname(__FILE__))
+$: << File.join(libpath,'test/lib')
+  
+$stderr.print USAGE
+
+$host = 
+  if ARGV.size>0
+    ARGV.shift
+  else
+    "http://localhost:5003"
+  end
+
+$stderr.print "Testing <",$host,">\n"
+
+require 'mechanize'
+require 'minitest/spec'
+require 'minitest/autorun'
+require 'main_web_functionality'
+
+
diff --git a/test/lib/main_web_functionality.rb b/test/lib/main_web_functionality.rb
new file mode 100644
index 00000000..03c76d42
--- /dev/null
+++ b/test/lib/main_web_functionality.rb
@@ -0,0 +1,32 @@
+class MainWebFunctionality
+end
+
+describe MainWebFunctionality do
+  before do
+    @agent = Mechanize.new
+    page = @agent.get($host)
+    # p page
+    @form = page.forms[1]
+    
+  end
+
+  describe MainWebFunctionality do
+    it "The main page contains a search button" do
+      @form.buttons[0].value.must_equal "Search" 
+    end
+
+    # 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
+    it "Search for MEAN=(15 16) LRS=(23 46)" do
+      @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"
+      @searchpage = @agent.submit(@form, @form.buttons.first)
+      probe_link = @searchpage.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"
+    end
+  end
+  
+end
+