diff options
-rwxr-xr-x | bin/test-website | 37 | ||||
-rw-r--r-- | test/lib/main_web_functionality.rb | 32 |
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 + |