summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2011-06-15 13:04:48 +0200
committerChristoph Helma <helma@in-silico.ch>2011-06-15 13:04:48 +0200
commitf0848668d330d31d7a6a3bb1959b51d4babfce2a (patch)
tree86f4541bba067c03389594c37df505b63bbe33fc
parentbd7c9b61c5c18e0e699f5040db0ca0233b74a5b9 (diff)
toxcreate test addedhotfix/v2.0.1
-rw-r--r--all.rb1
-rw-r--r--toxcreate.rb96
2 files changed, 65 insertions, 32 deletions
diff --git a/all.rb b/all.rb
index 850a309..1d3c570 100644
--- a/all.rb
+++ b/all.rb
@@ -11,3 +11,4 @@ require './algorithm.rb'
require './fminer.rb'
require './lazar.rb'
require './validation.rb'
+require './toxcreate.rb'
diff --git a/toxcreate.rb b/toxcreate.rb
index 5a995e2..8287140 100644
--- a/toxcreate.rb
+++ b/toxcreate.rb
@@ -2,54 +2,84 @@ require 'rubygems'
require "rubygems"
require 'opentox-ruby'
require 'test/unit'
-require 'watir-webdriver'
+require 'akephalos'
+require 'capybara/dsl'
+Capybara.default_driver = :akephalos
+#Capybara.default_driver = :selenium # use this for visual inspection
+Capybara.run_server = false
+Capybara.default_wait_time = 600
+
+
class ToxCreateTest < Test::Unit::TestCase
+ include Capybara
+
def setup
- @browser = Watir::Browser.new :firefox
@user = "test_ch"
@password = "test_ch"
end
-
+
+ def teardown
+ end
+
=begin
def test_login
- @browser.goto File.join(CONFIG[:services]["opentox-toxcreate"], "login")
- @browser.button(:value, "Login").click
+ visit File.join(CONFIG[:services]["opentox-toxcreate"], "login")
+ click_on "Login"
puts "Login without credentials"
- assert @browser.text.include? "Please enter username and password."
- @browser.text_field(:id, "username").set(@user)
- @browser.text_field(:id, "password").set(@password + "nonsense")
- @browser.button(:value, "Login").click
+ assert page.has_content? "Please enter username and password."
+ fill_in('Username', :with => @user)
+ fill_in('Password', :with => @password + "nonsense")
+ click_on "Login"
puts "Login with wrong password"
- assert @browser.text.include? "Login failed. Please try again."
- @browser.text_field(:id, "username").set(@user)
- @browser.text_field(:id, "password").set(@password)
- @browser.button(:value, "Login").click
- puts "Login as user #{@user}"
- assert @browser.text.include? "Welcome #{@user}!"
- @browser.goto File.join(CONFIG[:services]["opentox-toxcreate"], "login")
- @browser.button(:value, "Login as guest").click
+ assert page.has_content? "Login failed. Please try again."
+ fill_in('Username', :with => @user)
+ fill_in('Password', :with => @password)
+ click_on "Login"
+ assert page.has_content? "Welcome #{@user}!"
+ visit File.join(CONFIG[:services]["opentox-toxcreate"], "login")
+ click_on "Login as guest"
puts "Login as user guest"
- assert @browser.text.include? "Welcome guest!"
- @browser.close
+ assert page.has_content? "Welcome guest!"
end
- def teardown
- @browser.close
+ def test_predict # works only with selenium
+ visit CONFIG[:services]["opentox-toxcreate"]
+ click_on "Predict"
+ fill_in "or enter a Name, InChI, Smiles, CAS, ...", :with => "NNc1ccccc1"
+ check "hamster_carcinogenicity"
+ click_button "Predict"
+ assert page.has_content? "false"
+ assert page.has_content? "0.294"
+ click_on "Details"
+ assert page.has_content? "0.875"
end
+=end
-
- def test_toxcreate
- login(@browser, @user, @password)
- @browser.goto CONFIG[:services]["opentox-toxcreate"]
- @browser.file_field(:id, "file").set(`pwd`.chomp+"/data/hamster_carcinogenicity.csv")
- @browser.button(:value, "Create model").click
- # wait until validation is completed
- # check results (links, reports, results)
- puts @browser.url
+ def test_toxcreate # works only with akephalos
+ #login(@browser, @user, @password)
+ visit CONFIG[:services]["opentox-toxcreate"]
+ assert page.has_content?('Upload training data')
+ attach_file('file', "./data/hamster_carcinogenicity.csv")
+ click_on "Create model"
+ assert first("h2").has_content? 'hamster_carcinogenicity'
+ time = 0
+ while first(".model_status").has_no_content?("Completed") and time < 120 do
+ sleep 5
+ time +=5
+ end
+ assert first(".model_status").has_content?("Completed")
+ click_on "Predict"
+ fill_in "or enter a Name, InChI, Smiles, CAS, ...", :with => "NNc1ccccc1"
+ check "hamster_carcinogenicity"
+ #click_button "Predict"
+ #assert page.has_content? "false"
+ #assert page.has_content? "0.294"
+ #click_on "Details"
+ #assert page.has_content? "0.875"
end
-=end
+
=begin
def test_multi_cell_call
login(@browser, @user, @password)
@@ -83,9 +113,11 @@ class ToxCreateTest < Test::Unit::TestCase
=end
end
+=begin
def login(browser, user, password)
browser.goto File.join(CONFIG[:services]["opentox-toxcreate"], "login")
browser.text_field(:id, "username").set(user)
browser.text_field(:id, "password").set(password)
browser.button(:value, "Login").click
-end \ No newline at end of file
+end
+=end