ramaze.ch.oddb.org 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +6 -0
- data/LICENSE +339 -0
- data/Manifest.txt +285 -0
- data/README.txt +45 -0
- data/Rakefile +28 -0
- data/bin/admin +69 -0
- data/bin/exportd +63 -0
- data/bin/migrate +461 -0
- data/bin/oddbd +62 -0
- data/data/fulltext/data/dicts/french/fulltext.aff +1057 -0
- data/data/fulltext/data/dicts/french/fulltext.dict +91189 -0
- data/data/fulltext/data/dicts/french/fulltext.stop +135 -0
- data/data/fulltext/data/dicts/german/fulltext.aff +1233 -0
- data/data/fulltext/data/dicts/german/fulltext.dict +287574 -0
- data/data/fulltext/data/dicts/german/fulltext.stop +133 -0
- data/data/fulltext/data/german_compound/README +15 -0
- data/data/fulltext/data/german_compound/compound.pl +63 -0
- data/data/fulltext/data/german_compound/german.stop +20 -0
- data/data/fulltext/data/ispell-german-compound.tar.gz +0 -0
- data/data/fulltext/redist/dict_french/Makefile +12 -0
- data/data/fulltext/redist/dict_french/README.french +1 -0
- data/data/fulltext/redist/dict_french/dict_french.sql.in +7 -0
- data/data/fulltext/redist/dict_french/dict_snowball.c +56 -0
- data/data/fulltext/redist/dict_french/french_stem.c +1222 -0
- data/data/fulltext/redist/dict_french/french_stem.h +16 -0
- data/data/fulltext/redist/dict_french/subinclude.h +2 -0
- data/data/fulltext/redist/dict_german/Makefile +12 -0
- data/data/fulltext/redist/dict_german/README.german +1 -0
- data/data/fulltext/redist/dict_german/dict_german.sql.in +7 -0
- data/data/fulltext/redist/dict_german/dict_snowball.c +56 -0
- data/data/fulltext/redist/dict_german/german_stem.c +527 -0
- data/data/fulltext/redist/dict_german/german_stem.h +16 -0
- data/data/fulltext/redist/dict_german/subinclude.h +1 -0
- data/data/fulltext/redist/french_stem.c +1222 -0
- data/data/fulltext/redist/french_stem.h +16 -0
- data/data/fulltext/redist/german_stem.c +527 -0
- data/data/fulltext/redist/german_stem.h +16 -0
- data/lib/fixes/ruby19.rb +21 -0
- data/lib/fixes/selenium.rb +20 -0
- data/lib/fixes/singular.rb +8 -0
- data/lib/fixes/yaml.rb +13 -0
- data/lib/oddb.rb +11 -0
- data/lib/oddb/business/company.rb +18 -0
- data/lib/oddb/business/invoice.rb +75 -0
- data/lib/oddb/business/price.rb +60 -0
- data/lib/oddb/config.rb +73 -0
- data/lib/oddb/drugs.rb +16 -0
- data/lib/oddb/drugs/active_agent.rb +37 -0
- data/lib/oddb/drugs/atc.rb +53 -0
- data/lib/oddb/drugs/composition.rb +41 -0
- data/lib/oddb/drugs/ddd.rb +24 -0
- data/lib/oddb/drugs/dose.rb +107 -0
- data/lib/oddb/drugs/galenic_form.rb +21 -0
- data/lib/oddb/drugs/galenic_group.rb +17 -0
- data/lib/oddb/drugs/package.rb +87 -0
- data/lib/oddb/drugs/part.rb +56 -0
- data/lib/oddb/drugs/product.rb +25 -0
- data/lib/oddb/drugs/sequence.rb +61 -0
- data/lib/oddb/drugs/substance.rb +31 -0
- data/lib/oddb/drugs/substance_group.rb +13 -0
- data/lib/oddb/drugs/unit.rb +12 -0
- data/lib/oddb/export.rb +4 -0
- data/lib/oddb/export/csv.rb +89 -0
- data/lib/oddb/export/l10n_sessions.rb +30 -0
- data/lib/oddb/export/rss.rb +44 -0
- data/lib/oddb/export/server.rb +58 -0
- data/lib/oddb/export/xls.rb +119 -0
- data/lib/oddb/export/yaml.rb +123 -0
- data/lib/oddb/html/state/drugs/admin/package.rb +189 -0
- data/lib/oddb/html/state/drugs/admin/product.rb +56 -0
- data/lib/oddb/html/state/drugs/admin/sequence.rb +259 -0
- data/lib/oddb/html/state/drugs/ajax/explain_ddd_price.rb +19 -0
- data/lib/oddb/html/state/drugs/ajax/explain_price.rb +19 -0
- data/lib/oddb/html/state/drugs/ajax/global.rb +18 -0
- data/lib/oddb/html/state/drugs/ajax/package_infos.rb +19 -0
- data/lib/oddb/html/state/drugs/ajax/remote_infos.rb +19 -0
- data/lib/oddb/html/state/drugs/atc_browser.rb +39 -0
- data/lib/oddb/html/state/drugs/atc_guidelines.rb +21 -0
- data/lib/oddb/html/state/drugs/compare.rb +52 -0
- data/lib/oddb/html/state/drugs/download_export.rb +18 -0
- data/lib/oddb/html/state/drugs/fachinfo.rb +21 -0
- data/lib/oddb/html/state/drugs/feedback.rb +94 -0
- data/lib/oddb/html/state/drugs/global.rb +266 -0
- data/lib/oddb/html/state/drugs/init.rb +18 -0
- data/lib/oddb/html/state/drugs/login.rb +17 -0
- data/lib/oddb/html/state/drugs/package.rb +32 -0
- data/lib/oddb/html/state/drugs/patinfo.rb +21 -0
- data/lib/oddb/html/state/drugs/products.rb +51 -0
- data/lib/oddb/html/state/drugs/result.rb +125 -0
- data/lib/oddb/html/state/global.rb +165 -0
- data/lib/oddb/html/state/global_predefine.rb +17 -0
- data/lib/oddb/html/state/limit.rb +17 -0
- data/lib/oddb/html/state/login.rb +56 -0
- data/lib/oddb/html/state/paypal/checkout.rb +130 -0
- data/lib/oddb/html/state/paypal/collect.rb +46 -0
- data/lib/oddb/html/state/paypal/redirect.rb +18 -0
- data/lib/oddb/html/state/register_export.rb +38 -0
- data/lib/oddb/html/state/register_poweruser.rb +17 -0
- data/lib/oddb/html/state/viral/admin.rb +76 -0
- data/lib/oddb/html/state/viral/poweruser.rb +16 -0
- data/lib/oddb/html/util/annotated_list.rb +39 -0
- data/lib/oddb/html/util/know_it_all.rb +28 -0
- data/lib/oddb/html/util/known_user.rb +55 -0
- data/lib/oddb/html/util/lookandfeel.rb +554 -0
- data/lib/oddb/html/util/need_all_input.rb +29 -0
- data/lib/oddb/html/util/session.rb +88 -0
- data/lib/oddb/html/util/sort.rb +72 -0
- data/lib/oddb/html/util/unsaved_helper.rb +20 -0
- data/lib/oddb/html/util/validator.rb +54 -0
- data/lib/oddb/html/view/ajax/json.rb +22 -0
- data/lib/oddb/html/view/alpha_header.rb +28 -0
- data/lib/oddb/html/view/document.rb +126 -0
- data/lib/oddb/html/view/drugs/admin/package.rb +237 -0
- data/lib/oddb/html/view/drugs/admin/product.rb +104 -0
- data/lib/oddb/html/view/drugs/admin/sequence.rb +312 -0
- data/lib/oddb/html/view/drugs/ajax/explain_ddd_price.rb +87 -0
- data/lib/oddb/html/view/drugs/ajax/explain_price.rb +61 -0
- data/lib/oddb/html/view/drugs/ajax/package_infos.rb +105 -0
- data/lib/oddb/html/view/drugs/ajax/remote_infos.rb +44 -0
- data/lib/oddb/html/view/drugs/atc_browser.rb +68 -0
- data/lib/oddb/html/view/drugs/atc_guidelines.rb +94 -0
- data/lib/oddb/html/view/drugs/compare.rb +95 -0
- data/lib/oddb/html/view/drugs/download_export.rb +28 -0
- data/lib/oddb/html/view/drugs/fachinfo.rb +46 -0
- data/lib/oddb/html/view/drugs/feedback.rb +231 -0
- data/lib/oddb/html/view/drugs/init.rb +51 -0
- data/lib/oddb/html/view/drugs/legend.rb +24 -0
- data/lib/oddb/html/view/drugs/package.rb +398 -0
- data/lib/oddb/html/view/drugs/patinfo.rb +46 -0
- data/lib/oddb/html/view/drugs/products.rb +97 -0
- data/lib/oddb/html/view/drugs/result.rb +296 -0
- data/lib/oddb/html/view/drugs/search.rb +33 -0
- data/lib/oddb/html/view/drugs/template.rb +15 -0
- data/lib/oddb/html/view/foot.rb +52 -0
- data/lib/oddb/html/view/google.rb +23 -0
- data/lib/oddb/html/view/google_ads.rb +40 -0
- data/lib/oddb/html/view/head.rb +78 -0
- data/lib/oddb/html/view/limit.rb +109 -0
- data/lib/oddb/html/view/list.rb +59 -0
- data/lib/oddb/html/view/login.rb +38 -0
- data/lib/oddb/html/view/navigation.rb +67 -0
- data/lib/oddb/html/view/offset_header.rb +35 -0
- data/lib/oddb/html/view/paypal/collect.rb +84 -0
- data/lib/oddb/html/view/paypal/redirect.rb +51 -0
- data/lib/oddb/html/view/paypal/register_form.rb +106 -0
- data/lib/oddb/html/view/register_export.rb +29 -0
- data/lib/oddb/html/view/register_poweruser.rb +29 -0
- data/lib/oddb/html/view/rss/feedback.rb +64 -0
- data/lib/oddb/html/view/rss_preview.rb +54 -0
- data/lib/oddb/html/view/search.rb +104 -0
- data/lib/oddb/html/view/snapback.rb +24 -0
- data/lib/oddb/html/view/template.rb +56 -0
- data/lib/oddb/import/excel.rb +45 -0
- data/lib/oddb/import/import.rb +39 -0
- data/lib/oddb/import/rtf.rb +410 -0
- data/lib/oddb/import/whocc.rb +173 -0
- data/lib/oddb/import/xml.rb +15 -0
- data/lib/oddb/model.rb +179 -0
- data/lib/oddb/persistence/odba.rb +33 -0
- data/lib/oddb/persistence/odba/business/company.rb +13 -0
- data/lib/oddb/persistence/odba/business/invoice.rb +15 -0
- data/lib/oddb/persistence/odba/drugs/atc.rb +15 -0
- data/lib/oddb/persistence/odba/drugs/galenic_form.rb +18 -0
- data/lib/oddb/persistence/odba/drugs/galenic_group.rb +13 -0
- data/lib/oddb/persistence/odba/drugs/package.rb +25 -0
- data/lib/oddb/persistence/odba/drugs/product.rb +13 -0
- data/lib/oddb/persistence/odba/drugs/sequence.rb +21 -0
- data/lib/oddb/persistence/odba/drugs/substance.rb +21 -0
- data/lib/oddb/persistence/odba/drugs/substance_group.rb +13 -0
- data/lib/oddb/persistence/odba/drugs/unit.rb +13 -0
- data/lib/oddb/persistence/odba/export.rb +26 -0
- data/lib/oddb/persistence/odba/model.rb +68 -0
- data/lib/oddb/persistence/odba/regulatory/authority.rb +13 -0
- data/lib/oddb/persistence/odba/regulatory/registration.rb +13 -0
- data/lib/oddb/persistence/odba/text/document.rb +11 -0
- data/lib/oddb/persistence/odba/util/code.rb +11 -0
- data/lib/oddb/persistence/odba/util/m10l_document.rb +13 -0
- data/lib/oddb/persistence/og.rb +16 -0
- data/lib/oddb/persistence/og/drugs/composition.rb +14 -0
- data/lib/oddb/persistence/og/drugs/product.rb +14 -0
- data/lib/oddb/persistence/og/drugs/sequence.rb +15 -0
- data/lib/oddb/persistence/og/model.rb +25 -0
- data/lib/oddb/persistence/og/util/multilingual.rb +13 -0
- data/lib/oddb/redist/rtf_tools/reader.rb +139 -0
- data/lib/oddb/regulatory/authority.rb +14 -0
- data/lib/oddb/regulatory/registration.rb +15 -0
- data/lib/oddb/remote/business/company.rb +23 -0
- data/lib/oddb/remote/drugs/active_agent.rb +27 -0
- data/lib/oddb/remote/drugs/atc.rb +32 -0
- data/lib/oddb/remote/drugs/dose.rb +8 -0
- data/lib/oddb/remote/drugs/galenic_form.rb +25 -0
- data/lib/oddb/remote/drugs/package.rb +126 -0
- data/lib/oddb/remote/drugs/part.rb +30 -0
- data/lib/oddb/remote/drugs/product.rb +19 -0
- data/lib/oddb/remote/drugs/sequence.rb +46 -0
- data/lib/oddb/remote/drugs/substance.rb +20 -0
- data/lib/oddb/remote/drugs/unit.rb +19 -0
- data/lib/oddb/remote/object.rb +36 -0
- data/lib/oddb/remote/text/document.rb +20 -0
- data/lib/oddb/remote/util/m10l_document.rb +22 -0
- data/lib/oddb/text/chapter.rb +27 -0
- data/lib/oddb/text/document.rb +43 -0
- data/lib/oddb/text/format.rb +37 -0
- data/lib/oddb/text/paragraph.rb +58 -0
- data/lib/oddb/text/picture.rb +93 -0
- data/lib/oddb/text/table.rb +68 -0
- data/lib/oddb/util.rb +8 -0
- data/lib/oddb/util/annotated_list.rb +37 -0
- data/lib/oddb/util/code.rb +69 -0
- data/lib/oddb/util/comparison.rb +36 -0
- data/lib/oddb/util/exporter.rb +8 -0
- data/lib/oddb/util/feedback.rb +23 -0
- data/lib/oddb/util/ipn.rb +48 -0
- data/lib/oddb/util/m10l_document.rb +38 -0
- data/lib/oddb/util/mail.rb +73 -0
- data/lib/oddb/util/money.rb +60 -0
- data/lib/oddb/util/multilingual.rb +70 -0
- data/lib/oddb/util/quanty.rb +4 -0
- data/lib/oddb/util/quanty/fact.rb +229 -0
- data/lib/oddb/util/quanty/main.rb +160 -0
- data/lib/oddb/util/quanty/parse.rb +853 -0
- data/lib/oddb/util/quanty/units.dump +0 -0
- data/lib/oddb/util/server.rb +117 -0
- data/lib/oddb/util/updater.rb +41 -0
- data/lib/oddb/util/ydim.rb +110 -0
- data/lib/oddb/util/yus.rb +46 -0
- data/test/business/test_company.rb +29 -0
- data/test/business/test_price.rb +46 -0
- data/test/drugs/test_active_agent.rb +53 -0
- data/test/drugs/test_atc.rb +54 -0
- data/test/drugs/test_composition.rb +88 -0
- data/test/drugs/test_ddd.rb +22 -0
- data/test/drugs/test_dose.rb +190 -0
- data/test/drugs/test_galenic_form.rb +41 -0
- data/test/drugs/test_package.rb +173 -0
- data/test/drugs/test_part.rb +32 -0
- data/test/drugs/test_product.rb +31 -0
- data/test/drugs/test_sequence.rb +140 -0
- data/test/drugs/test_substance.rb +51 -0
- data/test/drugs/test_substance_group.rb +27 -0
- data/test/export/test_rss.rb +94 -0
- data/test/export/test_server.rb +117 -0
- data/test/export/test_xls.rb +152 -0
- data/test/export/test_yaml.rb +120 -0
- data/test/import/data/html/whocc/A.html +56 -0
- data/test/import/data/html/whocc/A03.html +48 -0
- data/test/import/data/html/whocc/A03AB.html +48 -0
- data/test/import/data/html/whocc/A06AA.html +47 -0
- data/test/import/data/html/whocc/C03.html +47 -0
- data/test/import/data/html/whocc/login.html +77 -0
- data/test/import/data/xml/ATC_2006.xml +47 -0
- data/test/import/data/xml/ATC_2006_ddd.xml +35 -0
- data/test/import/test_excel.rb +34 -0
- data/test/import/test_rtf.rb +40 -0
- data/test/import/test_whocc.rb +315 -0
- data/test/remote/drugs/test_active_agent.rb +36 -0
- data/test/selenium/selenium-server.jar +0 -0
- data/test/selenium/test_atc_browser.rb +122 -0
- data/test/selenium/test_atc_guidelines.rb +96 -0
- data/test/selenium/test_collect.rb +138 -0
- data/test/selenium/test_compare.rb +206 -0
- data/test/selenium/test_fachinfo.rb +130 -0
- data/test/selenium/test_feedback.rb +196 -0
- data/test/selenium/test_init.rb +52 -0
- data/test/selenium/test_limit.rb +305 -0
- data/test/selenium/test_login.rb +67 -0
- data/test/selenium/test_package.rb +512 -0
- data/test/selenium/test_patinfo.rb +131 -0
- data/test/selenium/test_product.rb +80 -0
- data/test/selenium/test_products.rb +142 -0
- data/test/selenium/test_search.rb +715 -0
- data/test/selenium/test_sequence.rb +543 -0
- data/test/selenium/unit.rb +185 -0
- data/test/stub/http_server.rb +169 -0
- data/test/stub/model.rb +173 -0
- data/test/suite.rb +15 -0
- data/test/test_model.rb +83 -0
- data/test/util/test_code.rb +74 -0
- data/test/util/test_ipn.rb +117 -0
- data/test/util/test_mail.rb +86 -0
- data/test/util/test_multilingual.rb +97 -0
- data/test/util/test_server.rb +48 -0
- data/test/util/test_updater.rb +353 -0
- data/test/util/test_ydim.rb +115 -0
- data/test/util/test_yus.rb +79 -0
- metadata +418 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
# Selenium::TestPatinfo -- de.oddb.org -- 18.04.2008 -- hwyss@ywesee.com
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
7
|
+
|
|
8
|
+
require 'selenium/unit'
|
|
9
|
+
require 'stub/model'
|
|
10
|
+
require 'oddb/drugs'
|
|
11
|
+
require 'oddb/util'
|
|
12
|
+
require 'oddb/text/chapter'
|
|
13
|
+
require 'oddb/text/document'
|
|
14
|
+
|
|
15
|
+
module ODDB
|
|
16
|
+
module Selenium
|
|
17
|
+
class TestPatinfo < Test::Unit::TestCase
|
|
18
|
+
include Selenium::TestCase
|
|
19
|
+
def setup
|
|
20
|
+
Drugs::Package.instances.clear
|
|
21
|
+
super
|
|
22
|
+
end
|
|
23
|
+
def setup_package(pzn='12345')
|
|
24
|
+
product = Drugs::Product.new
|
|
25
|
+
company = Business::Company.new
|
|
26
|
+
company.name.de = 'Producer AG'
|
|
27
|
+
product.company = company
|
|
28
|
+
product.name.de = "Amantadin by Producer"
|
|
29
|
+
company.save
|
|
30
|
+
sequence = Drugs::Sequence.new
|
|
31
|
+
sequence.atc = Drugs::Atc.new('N04BB01')
|
|
32
|
+
sequence.atc.name.de = 'Amantadin'
|
|
33
|
+
ddd = Drugs::Ddd.new('O')
|
|
34
|
+
ddd.dose = Drugs::Dose.new(5, 'mg')
|
|
35
|
+
sequence.atc.add_ddd(ddd)
|
|
36
|
+
sequence.product = product
|
|
37
|
+
composition = Drugs::Composition.new
|
|
38
|
+
composition.equivalence_factor = '44.6'
|
|
39
|
+
sequence.add_composition(composition)
|
|
40
|
+
substance = Drugs::Substance.new
|
|
41
|
+
substance.name.de = "Amantadin"
|
|
42
|
+
dose = Drugs::Dose.new(100, 'mg')
|
|
43
|
+
active_agent = Drugs::ActiveAgent.new(substance, dose)
|
|
44
|
+
composition.add_active_agent(active_agent)
|
|
45
|
+
package = Drugs::Package.new
|
|
46
|
+
code = Util::Code.new(:festbetragsstufe, 3, 'CH')
|
|
47
|
+
package.add_code(code)
|
|
48
|
+
code = Util::Code.new(:zuzahlungsbefreit, true, 'CH')
|
|
49
|
+
package.add_code(code)
|
|
50
|
+
code = Util::Code.new(:prescription, true, 'CH')
|
|
51
|
+
package.add_code(code)
|
|
52
|
+
code = Util::Code.new(:cid, pzn, 'CH')
|
|
53
|
+
package.add_code(code)
|
|
54
|
+
part = Drugs::Part.new
|
|
55
|
+
part.composition = composition
|
|
56
|
+
part.package = package
|
|
57
|
+
part.size = 5
|
|
58
|
+
unit = Drugs::Unit.new
|
|
59
|
+
unit.name.de = 'Ampullen'
|
|
60
|
+
part.unit = unit
|
|
61
|
+
part.quantity = Drugs::Dose.new(20, 'ml')
|
|
62
|
+
package.name.de = 'Amantadin by Producer'
|
|
63
|
+
package.sequence = sequence
|
|
64
|
+
package.add_price(Business::Price.new(:public, 'CH', 6))
|
|
65
|
+
package.add_price(Business::Price.new(:festbetrag, 'CH', 10))
|
|
66
|
+
package.save
|
|
67
|
+
package
|
|
68
|
+
end
|
|
69
|
+
def setup_patinfo
|
|
70
|
+
document = Text::Document.new
|
|
71
|
+
chapter = Text::Chapter.new('name')
|
|
72
|
+
paragraph = Text::Paragraph.new
|
|
73
|
+
paragraph.set_format("b")
|
|
74
|
+
paragraph << "1. Bezeichnung"
|
|
75
|
+
chapter.add_paragraph paragraph
|
|
76
|
+
paragraph = Text::Paragraph.new
|
|
77
|
+
paragraph << "Amantadin Product"
|
|
78
|
+
chapter.add_paragraph paragraph
|
|
79
|
+
document.add_chapter(chapter)
|
|
80
|
+
chapter = Text::Chapter.new('composition')
|
|
81
|
+
paragraph = Text::Paragraph.new
|
|
82
|
+
paragraph.set_format("b")
|
|
83
|
+
paragraph << "2. Zusammensetzung"
|
|
84
|
+
chapter.add_paragraph paragraph
|
|
85
|
+
table = Text::Table.new
|
|
86
|
+
table << "Für Kinder"
|
|
87
|
+
table.next_cell!
|
|
88
|
+
table << "Für Erwachsene"
|
|
89
|
+
table.next_row!
|
|
90
|
+
table << "10 mg Amantadin pro Tablette"
|
|
91
|
+
table.next_cell!
|
|
92
|
+
table << "100 mg Amantadin pro Tablette"
|
|
93
|
+
chapter.add_paragraph table
|
|
94
|
+
document.add_chapter(chapter)
|
|
95
|
+
chapter = Text::Chapter.new('packaging')
|
|
96
|
+
paragraph = Text::Paragraph.new
|
|
97
|
+
paragraph.set_format("b")
|
|
98
|
+
paragraph << "6.1"
|
|
99
|
+
paragraph.set_format()
|
|
100
|
+
paragraph << " Behältnis"
|
|
101
|
+
chapter.add_paragraph paragraph
|
|
102
|
+
picture = Text::Picture.new
|
|
103
|
+
flexmock(picture).should_receive(:path).and_return('/resources/oddb/logo.png')
|
|
104
|
+
flexmock(picture).should_receive(:filename).and_return('logo.png')
|
|
105
|
+
chapter.add_paragraph picture
|
|
106
|
+
document.add_chapter(chapter)
|
|
107
|
+
document
|
|
108
|
+
end
|
|
109
|
+
def test_patinfo
|
|
110
|
+
package = setup_package
|
|
111
|
+
package.patinfo.de = setup_patinfo
|
|
112
|
+
open "/de/drugs/patinfo/uid/#{package.sequence.uid}"
|
|
113
|
+
assert_equal "CH - ODDB.org | Medikamente | Gebrauchsinformation | Amantadin by Producer | Open Drug Database", get_title
|
|
114
|
+
assert is_text_present("1. Bezeichnung\nAmantadin Product")
|
|
115
|
+
end
|
|
116
|
+
def test_patinfo__limited
|
|
117
|
+
ODDB.config.query_limit = 1
|
|
118
|
+
package = setup_package
|
|
119
|
+
package.patinfo.de = setup_patinfo
|
|
120
|
+
open "/de/drugs/patinfo/uid/#{package.sequence.uid}"
|
|
121
|
+
assert_equal "CH - ODDB.org | Medikamente | Gebrauchsinformation | Amantadin by Producer | Open Drug Database", get_title
|
|
122
|
+
open "/de/drugs/patinfo/uid/#{package.sequence.uid}"
|
|
123
|
+
assert_equal 'CH - ODDB.org | Medikamente | Open Drug Database',
|
|
124
|
+
get_title
|
|
125
|
+
assert is_text_present("Abfragebeschränkung")
|
|
126
|
+
ensure
|
|
127
|
+
ODDB.config.query_limit = 20
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Selenium::TestProduct -- de.oddb.org -- 18.04.2008 -- hwyss@ywesee.com
|
|
3
|
+
|
|
4
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
5
|
+
|
|
6
|
+
require 'selenium/unit'
|
|
7
|
+
require 'stub/model'
|
|
8
|
+
require 'oddb/drugs'
|
|
9
|
+
require 'oddb/util'
|
|
10
|
+
|
|
11
|
+
module ODDB
|
|
12
|
+
module Selenium
|
|
13
|
+
class TestAdminProduct < Test::Unit::TestCase
|
|
14
|
+
include Selenium::TestCase
|
|
15
|
+
def setup
|
|
16
|
+
Drugs::ActiveAgent.instances.clear
|
|
17
|
+
Drugs::Composition.instances.clear
|
|
18
|
+
Drugs::Sequence.instances.clear
|
|
19
|
+
Drugs::Product.instances.clear
|
|
20
|
+
Business::Company.instances.clear
|
|
21
|
+
super
|
|
22
|
+
end
|
|
23
|
+
def setup_product
|
|
24
|
+
product = Drugs::Product.new
|
|
25
|
+
product.name.de = "Product"
|
|
26
|
+
company = Business::Company.new
|
|
27
|
+
company.name.de = 'Producer AG'
|
|
28
|
+
product.company = company
|
|
29
|
+
company.save
|
|
30
|
+
product.save
|
|
31
|
+
product
|
|
32
|
+
end
|
|
33
|
+
def test_product
|
|
34
|
+
product = setup_product
|
|
35
|
+
user = login_admin
|
|
36
|
+
uid = product.uid
|
|
37
|
+
open "/de/drugs/product/uid/#{uid}"
|
|
38
|
+
assert_equal "CH - ODDB.org | Medikamente | Produkt | #{uid} | Open Drug Database", get_title
|
|
39
|
+
assert is_element_present("company")
|
|
40
|
+
assert is_text_present("Product")
|
|
41
|
+
assert_equal 'Producer AG', get_value('company')
|
|
42
|
+
end
|
|
43
|
+
def test_product__update__success
|
|
44
|
+
product = setup_product
|
|
45
|
+
user = login_admin
|
|
46
|
+
company = Business::Company.new
|
|
47
|
+
company.name.de = 'New Company'
|
|
48
|
+
company.save
|
|
49
|
+
uid = product.uid
|
|
50
|
+
open "/de/drugs/product/uid/#{uid}"
|
|
51
|
+
assert_equal "CH - ODDB.org | Medikamente | Produkt | #{uid} | Open Drug Database", get_title
|
|
52
|
+
type 'company', 'New Company'
|
|
53
|
+
click 'update'
|
|
54
|
+
wait_for_page_to_load 30
|
|
55
|
+
|
|
56
|
+
assert_equal "CH - ODDB.org | Medikamente | Produkt | #{uid} | Open Drug Database", get_title
|
|
57
|
+
assert_equal 'New Company', get_value('company')
|
|
58
|
+
|
|
59
|
+
assert_equal company, product.company
|
|
60
|
+
end
|
|
61
|
+
def test_product__update__error
|
|
62
|
+
product = setup_product
|
|
63
|
+
previous = product.company
|
|
64
|
+
user = login_admin
|
|
65
|
+
uid = product.uid
|
|
66
|
+
open "/de/drugs/product/uid/#{uid}"
|
|
67
|
+
assert_equal "CH - ODDB.org | Medikamente | Produkt | #{uid} | Open Drug Database", get_title
|
|
68
|
+
type 'company', 'New Company'
|
|
69
|
+
click 'update'
|
|
70
|
+
wait_for_page_to_load 30
|
|
71
|
+
|
|
72
|
+
assert is_text_present('Der Zulassungsinhaber "New Company" ist nicht bekannt.')
|
|
73
|
+
assert_equal "CH - ODDB.org | Medikamente | Produkt | #{uid} | Open Drug Database", get_title
|
|
74
|
+
assert_equal 'Producer AG', get_value('company')
|
|
75
|
+
|
|
76
|
+
assert_equal previous, product.company
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
# Selenium::TestInit -- de.oddb.org -- 21.11.2006 -- hwyss@ywesee.com
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
7
|
+
|
|
8
|
+
require 'selenium/unit'
|
|
9
|
+
require 'stub/model'
|
|
10
|
+
require 'oddb/drugs'
|
|
11
|
+
require 'oddb/util'
|
|
12
|
+
|
|
13
|
+
module ODDB
|
|
14
|
+
module Selenium
|
|
15
|
+
class TestProducts < Test::Unit::TestCase
|
|
16
|
+
include Selenium::TestCase
|
|
17
|
+
def setup
|
|
18
|
+
Drugs::Product.instances.clear
|
|
19
|
+
super
|
|
20
|
+
end
|
|
21
|
+
def setup_product(name)
|
|
22
|
+
product = Drugs::Product.new
|
|
23
|
+
sequence = Drugs::Sequence.new
|
|
24
|
+
sequence.product = product
|
|
25
|
+
sequence.atc = Drugs::Atc.new('N04BB01')
|
|
26
|
+
company = Business::Company.new
|
|
27
|
+
company.name.de = 'Producer AG'
|
|
28
|
+
product.company = company
|
|
29
|
+
company.save
|
|
30
|
+
product.name.de = name
|
|
31
|
+
product.save
|
|
32
|
+
end
|
|
33
|
+
def test_products
|
|
34
|
+
ODDB.config.query_limit = 20
|
|
35
|
+
setup_product("Amantadin by Producer")
|
|
36
|
+
setup_product("Amantadin by someone Else")
|
|
37
|
+
setup_product("4N Pflaster")
|
|
38
|
+
@selenium.open "/"
|
|
39
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", @selenium.get_title
|
|
40
|
+
@selenium.click "link=Arzneimittel A-Z"
|
|
41
|
+
@selenium.wait_for_page_to_load 30
|
|
42
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
43
|
+
@selenium.get_title
|
|
44
|
+
assert @selenium.is_text_present("Bitte wählen Sie den anzuzeigenden Bereich")
|
|
45
|
+
assert @selenium.is_element_present("link=A")
|
|
46
|
+
assert @selenium.is_element_present("link=0-9")
|
|
47
|
+
|
|
48
|
+
@selenium.click "link=A"
|
|
49
|
+
@selenium.wait_for_page_to_load 30
|
|
50
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
51
|
+
@selenium.get_title
|
|
52
|
+
assert @selenium.is_text_present('Amantadin by Producer')
|
|
53
|
+
assert @selenium.is_text_present('Amantadin by someone Else')
|
|
54
|
+
assert !@selenium.is_text_present('4N Pflaster')
|
|
55
|
+
assert @selenium.is_text_present('Producer AG')
|
|
56
|
+
assert @selenium.is_text_present('N04BB01')
|
|
57
|
+
|
|
58
|
+
flexstub(@server['test:preset-session-id']).should_receive(:pagelength).and_return(1)
|
|
59
|
+
|
|
60
|
+
@selenium.refresh
|
|
61
|
+
@selenium.wait_for_page_to_load 30
|
|
62
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
63
|
+
@selenium.get_title
|
|
64
|
+
assert @selenium.is_text_present('Amantadin by Producer')
|
|
65
|
+
assert !@selenium.is_text_present('Amantadin by someone Else')
|
|
66
|
+
assert !@selenium.is_text_present('4N Pflaster')
|
|
67
|
+
assert @selenium.is_text_present('1 - 1')
|
|
68
|
+
assert @selenium.is_text_present('2 - 2')
|
|
69
|
+
assert !@selenium.is_text_present('3 - 2')
|
|
70
|
+
|
|
71
|
+
@selenium.click "link=2 - 2"
|
|
72
|
+
@selenium.wait_for_page_to_load 30
|
|
73
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
74
|
+
@selenium.get_title
|
|
75
|
+
assert !@selenium.is_text_present('Amantadin by Producer')
|
|
76
|
+
assert @selenium.is_text_present('Amantadin by someone Else')
|
|
77
|
+
assert !@selenium.is_text_present('4N Pflaster')
|
|
78
|
+
assert @selenium.is_text_present('1 - 1')
|
|
79
|
+
assert @selenium.is_text_present('2 - 2')
|
|
80
|
+
assert !@selenium.is_text_present('3 - 2')
|
|
81
|
+
|
|
82
|
+
@selenium.click "link=0-9"
|
|
83
|
+
@selenium.wait_for_page_to_load 30
|
|
84
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
85
|
+
@selenium.get_title
|
|
86
|
+
assert !@selenium.is_text_present('Amantadin by Producer')
|
|
87
|
+
assert !@selenium.is_text_present('Amantadin by someone Else')
|
|
88
|
+
assert @selenium.is_text_present('4N Pflaster')
|
|
89
|
+
|
|
90
|
+
@selenium.click "link=4N Pflaster"
|
|
91
|
+
@selenium.wait_for_page_to_load 30
|
|
92
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | 4N Pflaster | Markenname | Open Drug Database",
|
|
93
|
+
@selenium.get_title
|
|
94
|
+
end
|
|
95
|
+
def test_products__sort
|
|
96
|
+
setup_product("Amantadin by Producer")
|
|
97
|
+
setup_product("Amantadin by someone Else")
|
|
98
|
+
setup_product("4N Pflaster")
|
|
99
|
+
@selenium.open "/"
|
|
100
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", @selenium.get_title
|
|
101
|
+
@selenium.click "link=Arzneimittel A-Z"
|
|
102
|
+
@selenium.wait_for_page_to_load 30
|
|
103
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
104
|
+
@selenium.get_title
|
|
105
|
+
assert @selenium.is_text_present("Bitte wählen Sie den anzuzeigenden Bereich")
|
|
106
|
+
assert @selenium.is_element_present("link=A")
|
|
107
|
+
assert @selenium.is_element_present("link=0-9")
|
|
108
|
+
|
|
109
|
+
@selenium.click "link=A"
|
|
110
|
+
@selenium.wait_for_page_to_load 30
|
|
111
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
112
|
+
@selenium.get_title
|
|
113
|
+
assert @selenium.is_text_present('Amantadin by Producer')
|
|
114
|
+
assert @selenium.is_text_present('Amantadin by someone Else')
|
|
115
|
+
|
|
116
|
+
@selenium.click "link=ATC-Code"
|
|
117
|
+
@selenium.wait_for_page_to_load 30
|
|
118
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
119
|
+
@selenium.get_title
|
|
120
|
+
@selenium.click "link=Hersteller"
|
|
121
|
+
@selenium.wait_for_page_to_load 30
|
|
122
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
123
|
+
@selenium.get_title
|
|
124
|
+
end
|
|
125
|
+
def test_products__limited
|
|
126
|
+
ODDB.config.query_limit = 1
|
|
127
|
+
setup_product("Amantadin by Producer")
|
|
128
|
+
setup_product("Amantadin by someone Else")
|
|
129
|
+
setup_product("4N Pflaster")
|
|
130
|
+
open "/de/drugs/products"
|
|
131
|
+
assert_equal "CH - ODDB.org | Medikamente | Arzneimittel A-Z | Open Drug Database",
|
|
132
|
+
@selenium.get_title
|
|
133
|
+
open "/de/drugs/products"
|
|
134
|
+
assert_equal 'CH - ODDB.org | Medikamente | Open Drug Database',
|
|
135
|
+
get_title
|
|
136
|
+
assert is_text_present("Abfragebeschränkung")
|
|
137
|
+
ensure
|
|
138
|
+
ODDB.config.query_limit = 20
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
@@ -0,0 +1,715 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
# Selenium::TestSearch -- de.oddb.org -- 21.11.2006 -- hwyss@ywesee.com
|
|
4
|
+
|
|
5
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
6
|
+
|
|
7
|
+
require 'selenium/unit'
|
|
8
|
+
require 'odba/drbwrapper'
|
|
9
|
+
require 'odba'
|
|
10
|
+
require 'oddb/drugs'
|
|
11
|
+
require 'oddb/util'
|
|
12
|
+
require 'stub/model'
|
|
13
|
+
|
|
14
|
+
module ODDB
|
|
15
|
+
module Selenium
|
|
16
|
+
class TestSearch < Test::Unit::TestCase
|
|
17
|
+
include Selenium::TestCase
|
|
18
|
+
def setup
|
|
19
|
+
Drugs::Package.instances.clear
|
|
20
|
+
Drugs::Product.instances.clear
|
|
21
|
+
Business::Company.instances.clear
|
|
22
|
+
@cache = flexstub(ODBA.cache)
|
|
23
|
+
flexstub(Currency).should_receive(:rate)\
|
|
24
|
+
.with('EUR', 'CHF').and_return(1.5)
|
|
25
|
+
currency = flexmock('Currency')
|
|
26
|
+
@currency = DRb.start_service('druby://localhost:0', currency)
|
|
27
|
+
ODDB.config.currency_rates = @currency.uri
|
|
28
|
+
@old_limit = ODDB.config.query_limit
|
|
29
|
+
ODDB.config.query_limit = 2000
|
|
30
|
+
currency.should_receive(:rate).with('EUR', 'CHF').and_return(1.6)
|
|
31
|
+
super
|
|
32
|
+
end
|
|
33
|
+
def setup_autosession(yus)
|
|
34
|
+
session = flexmock('session')
|
|
35
|
+
yus.should_receive(:autosession).and_return { |domain, block|
|
|
36
|
+
assert_equal 'org.oddb.de', domain
|
|
37
|
+
block.call session
|
|
38
|
+
}
|
|
39
|
+
session
|
|
40
|
+
end
|
|
41
|
+
def setup_package(name="Amantadin by Producer", atccode='N04BB01')
|
|
42
|
+
product = Drugs::Product.new
|
|
43
|
+
company = Business::Company.new
|
|
44
|
+
company.name.de = 'Producer AG'
|
|
45
|
+
product.company = company
|
|
46
|
+
company.save
|
|
47
|
+
sequence = Drugs::Sequence.new
|
|
48
|
+
sequence.product = product
|
|
49
|
+
atc = Drugs::Atc.new(atccode)
|
|
50
|
+
atc.name.de = 'Amantadin'
|
|
51
|
+
ddd = Drugs::Ddd.new('O')
|
|
52
|
+
ddd.dose = Drugs::Dose.new(10, 'mg')
|
|
53
|
+
atc.add_ddd(ddd)
|
|
54
|
+
sequence.atc = atc
|
|
55
|
+
composition = Drugs::Composition.new
|
|
56
|
+
galform = Drugs::GalenicForm.new
|
|
57
|
+
galform.description.de = 'Tabletten'
|
|
58
|
+
composition.galenic_form = galform
|
|
59
|
+
grp = Drugs::GalenicGroup.new('Tabletten')
|
|
60
|
+
grp.administration = 'O'
|
|
61
|
+
galform.group = grp
|
|
62
|
+
sequence.add_composition(composition)
|
|
63
|
+
substance = Drugs::Substance.new
|
|
64
|
+
substance.name.de = 'Amantadin'
|
|
65
|
+
dose = Drugs::Dose.new(100, 'mg')
|
|
66
|
+
active_agent = Drugs::ActiveAgent.new(substance, dose)
|
|
67
|
+
composition.add_active_agent(active_agent)
|
|
68
|
+
package = Drugs::Package.new
|
|
69
|
+
code = Util::Code.new(:cid, '12345', 'CH')
|
|
70
|
+
package.add_code(code)
|
|
71
|
+
code = Util::Code.new(:festbetragsstufe, 3, 'CH')
|
|
72
|
+
package.add_code(code)
|
|
73
|
+
code = Util::Code.new(:festbetragsgruppe, 4, 'CH')
|
|
74
|
+
package.add_code(code)
|
|
75
|
+
code = Util::Code.new(:zuzahlungsbefreit, true, 'CH')
|
|
76
|
+
package.add_code(code)
|
|
77
|
+
part = Drugs::Part.new
|
|
78
|
+
part.package = package
|
|
79
|
+
part.size = 5
|
|
80
|
+
part.composition = composition
|
|
81
|
+
unit = Drugs::Unit.new
|
|
82
|
+
unit.name.de = 'Ampullen'
|
|
83
|
+
part.unit = unit
|
|
84
|
+
part.quantity = Drugs::Dose.new(20, 'ml')
|
|
85
|
+
package.name.de = name
|
|
86
|
+
package.sequence = sequence
|
|
87
|
+
package.add_price(Business::Price.new(:public, 'CH', 6))
|
|
88
|
+
package.add_price(Business::Price.new(:festbetrag, 'CH', 10))
|
|
89
|
+
package.save
|
|
90
|
+
package
|
|
91
|
+
end
|
|
92
|
+
def setup_remote_package(name, uid='55555', price=12, ikscat='B')
|
|
93
|
+
rpackage = flexmock('Remote Package')
|
|
94
|
+
rpackage.should_receive(:barcode).and_return("7680#{uid}0012")
|
|
95
|
+
rpackage.should_receive(:name_base).and_return(name)
|
|
96
|
+
rpackage.should_receive(:price_public).and_return {
|
|
97
|
+
price
|
|
98
|
+
}
|
|
99
|
+
rpackage.should_receive(:price_exfactory).and_return { nil }
|
|
100
|
+
rpackage.should_receive(:ikscat).and_return(ikscat)
|
|
101
|
+
rpackage.should_receive(:sl_entry).and_return(true)
|
|
102
|
+
rpackage.should_receive(:comparable_size)\
|
|
103
|
+
.and_return(Drugs::Dose.new(100, 'ml'))
|
|
104
|
+
rpackage.should_receive(:__drbref).and_return(uid)
|
|
105
|
+
rcompany = flexmock('Remote Company')
|
|
106
|
+
rpackage.should_receive(:company).and_return(rcompany)
|
|
107
|
+
rcompany.should_receive(:name).and_return('Producer (Schweiz) AG')
|
|
108
|
+
ratc = flexmock('Remote Atc Class')
|
|
109
|
+
ratc.should_receive(:ddds).and_return []
|
|
110
|
+
rpackage.should_receive(:atc_class).and_return(ratc)
|
|
111
|
+
ratc.should_receive(:code).and_return('N04BB01')
|
|
112
|
+
ratc.should_receive(:parent_code).and_return('N04BB')
|
|
113
|
+
flexmock(Drugs::Atc).should_receive(:find_by_code)
|
|
114
|
+
ratc.should_receive(:name).and_return("Rem\366tadine")
|
|
115
|
+
#ratc.should_receive(:de).and_return('Amantadine')
|
|
116
|
+
ragent = flexmock('Remote ActiveAgent')
|
|
117
|
+
rpackage.should_receive(:active_agents).and_return([ragent])
|
|
118
|
+
rsubstance = flexmock('Remote Substance')
|
|
119
|
+
ragent.should_receive(:dose).and_return(Drugs::Dose.new(100, 'mg'))
|
|
120
|
+
ragent.should_receive(:substance).and_return(rsubstance)
|
|
121
|
+
rsubstance.should_receive(:de).and_return('Amantadinum')
|
|
122
|
+
rgalform = flexmock('Remote Galenic Form')
|
|
123
|
+
rpackage.should_receive(:galenic_forms).and_return([rgalform])
|
|
124
|
+
rgalform.should_receive(:de).and_return('Tropfen')
|
|
125
|
+
rgroup = flexmock('Remote Galenic Group')
|
|
126
|
+
rgroup.should_receive(:de).and_return('Unbekannt')
|
|
127
|
+
rgalform.should_receive(:galenic_group).and_return(rgroup)
|
|
128
|
+
rpart = flexmock('Remote Part')
|
|
129
|
+
rpart.should_receive(:comparable_size)\
|
|
130
|
+
.and_return(Drugs::Dose.new(4))
|
|
131
|
+
rpart.should_ignore_missing
|
|
132
|
+
rpackage.should_receive(:parts).and_return [rpart]
|
|
133
|
+
@cache.should_receive(:fetch).with(uid.to_i).and_return(rpackage)
|
|
134
|
+
rpackage.should_ignore_missing
|
|
135
|
+
rpackage
|
|
136
|
+
end
|
|
137
|
+
def teardown
|
|
138
|
+
super
|
|
139
|
+
ODDB.config.query_limit = @old_limit
|
|
140
|
+
ODDB.config.remote_databases = []
|
|
141
|
+
@currency.stop_service
|
|
142
|
+
end
|
|
143
|
+
def test_search
|
|
144
|
+
ODDB.config.query_limit = 20
|
|
145
|
+
package = setup_package
|
|
146
|
+
open "/"
|
|
147
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
148
|
+
type "query", "Amantadin"
|
|
149
|
+
click "//input[@type='submit']"
|
|
150
|
+
wait_for_page_to_load 30
|
|
151
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
152
|
+
get_title
|
|
153
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
154
|
+
assert is_text_present('Amantadin by Producer')
|
|
155
|
+
assert is_text_present('100 mg')
|
|
156
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
157
|
+
assert is_text_present('6.00')
|
|
158
|
+
assert !is_text_present('-4.00')
|
|
159
|
+
assert is_text_present('3')
|
|
160
|
+
assert is_text_present('Ja')
|
|
161
|
+
assert is_text_present('N04BB01')
|
|
162
|
+
assert is_text_present('Producer AG')
|
|
163
|
+
assert is_text_present('FB')
|
|
164
|
+
|
|
165
|
+
## State::Drugs::Result does not re-search if the query is the same
|
|
166
|
+
package2 = Drugs::Package.new
|
|
167
|
+
package2.sequence = package.sequence
|
|
168
|
+
package2.save
|
|
169
|
+
package2.add_price(Business::Price.new(:public, 'CH', 999999))
|
|
170
|
+
open('/de/drugs/search/query/Amantadin')
|
|
171
|
+
wait_for_page_to_load 30
|
|
172
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
173
|
+
get_title
|
|
174
|
+
assert is_text_present('Amantadin by Producer')
|
|
175
|
+
assert !is_text_present('999999.00')
|
|
176
|
+
|
|
177
|
+
## Sort result
|
|
178
|
+
click "//a[@name='th_package_infos']"
|
|
179
|
+
wait_for_page_to_load 30
|
|
180
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
181
|
+
get_title
|
|
182
|
+
|
|
183
|
+
click "//a[@name='th_package_infos']"
|
|
184
|
+
wait_for_page_to_load 30
|
|
185
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
186
|
+
get_title
|
|
187
|
+
|
|
188
|
+
click "//a[@name='th_ddd_prices']"
|
|
189
|
+
wait_for_page_to_load 30
|
|
190
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
191
|
+
get_title
|
|
192
|
+
|
|
193
|
+
click "//a[@name='th_company']"
|
|
194
|
+
wait_for_page_to_load 30
|
|
195
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
196
|
+
get_title
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
## an empty Result:
|
|
200
|
+
type "query", "Gabapentin"
|
|
201
|
+
select "dstype", "Inhaltsstoff"
|
|
202
|
+
wait_for_page_to_load 30
|
|
203
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Gabapentin | Inhaltsstoff | Open Drug Database",
|
|
204
|
+
get_title
|
|
205
|
+
expected = <<-EOS
|
|
206
|
+
Ihr Such-Stichwort hat zu keinem Suchergebnis geführt. Bitte überprüfen Sie die Schreibweise und versuchen Sie es noch einmal.
|
|
207
|
+
EOS
|
|
208
|
+
assert is_text_present(expected.chop)
|
|
209
|
+
end
|
|
210
|
+
def test_search__ajax
|
|
211
|
+
setup_package
|
|
212
|
+
open "/"
|
|
213
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
214
|
+
type "query", "Producer"
|
|
215
|
+
select 'dstype', 'Preisvergleich'
|
|
216
|
+
# no click necessary
|
|
217
|
+
# click "//input[@type='submit']"
|
|
218
|
+
wait_for_page_to_load 30
|
|
219
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Producer | Preisvergleich | Open Drug Database",
|
|
220
|
+
get_title
|
|
221
|
+
assert is_text_present('Amantadin by Producer')
|
|
222
|
+
mouse_over 'package_infos12345'
|
|
223
|
+
assert !60.times {
|
|
224
|
+
break if (is_element_present("//body/div[5]/table") rescue false)
|
|
225
|
+
sleep 1
|
|
226
|
+
}
|
|
227
|
+
assert is_text_present('Festbetragsgruppe')
|
|
228
|
+
assert is_text_present('Festbetragsstufe')
|
|
229
|
+
assert is_text_present('3: Arzneimittel mit therapeutisch vergleichbarer Wirkung, insbesondere Arzneimittelkombinationen')
|
|
230
|
+
assert is_text_present('Zuzahlungsbefreit')
|
|
231
|
+
assert is_text_present('Ja')
|
|
232
|
+
assert is_text_present('Rezeptpflichtig')
|
|
233
|
+
# if there is no information stored, we should not assume a No here:
|
|
234
|
+
assert !is_text_present('Nein')
|
|
235
|
+
mouse_over 'ddd_price_12345.0'
|
|
236
|
+
assert !60.times {
|
|
237
|
+
break if (is_element_present("//body/div[6]/table") rescue false)
|
|
238
|
+
sleep 1
|
|
239
|
+
}
|
|
240
|
+
assert is_text_present('Verabreichungsform')
|
|
241
|
+
assert is_text_present('Oral')
|
|
242
|
+
assert is_text_present('Anmerkung')
|
|
243
|
+
assert is_text_present('Tagesdosis')
|
|
244
|
+
assert is_text_present('10 mg')
|
|
245
|
+
assert is_text_present('Apothekenverkaufspreis')
|
|
246
|
+
assert is_text_present('6.00')
|
|
247
|
+
assert is_text_present('Stärke')
|
|
248
|
+
assert is_text_present('100 mg')
|
|
249
|
+
assert is_text_present('Packungsgrösse')
|
|
250
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
251
|
+
assert is_text_present('Berechnung')
|
|
252
|
+
assert is_text_present('( 10 mg / 100 mg ) x ( 6.00 / 5 Ampullen à 20 ml ) = EUR 0.01 / Tag')
|
|
253
|
+
end
|
|
254
|
+
def test_search__company
|
|
255
|
+
setup_package
|
|
256
|
+
open "/"
|
|
257
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
258
|
+
type "query", "Producer"
|
|
259
|
+
select 'dstype', 'Zulassungsinhaber'
|
|
260
|
+
# no click necessary
|
|
261
|
+
# click "//input[@type='submit']"
|
|
262
|
+
wait_for_page_to_load 30
|
|
263
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Producer | Zulassungsinhaber | Open Drug Database",
|
|
264
|
+
get_title
|
|
265
|
+
assert is_text_present('Amantadin by Producer')
|
|
266
|
+
assert is_text_present('100 mg')
|
|
267
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
268
|
+
assert is_text_present('6.00')
|
|
269
|
+
assert !is_text_present('-4.00')
|
|
270
|
+
assert is_text_present('3')
|
|
271
|
+
assert is_text_present('Ja')
|
|
272
|
+
assert is_text_present('N04BB01')
|
|
273
|
+
assert is_text_present('Producer AG')
|
|
274
|
+
end
|
|
275
|
+
def test_search__compare
|
|
276
|
+
setup_package
|
|
277
|
+
open "/"
|
|
278
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
279
|
+
type "query", "amantadin"
|
|
280
|
+
select 'dstype', 'Preisvergleich'
|
|
281
|
+
# no click necessary
|
|
282
|
+
# click "//input[@type='submit']"
|
|
283
|
+
wait_for_page_to_load 30
|
|
284
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | amantadin | Preisvergleich | Open Drug Database",
|
|
285
|
+
get_title
|
|
286
|
+
assert is_text_present('Amantadin by Producer')
|
|
287
|
+
assert is_text_present('100 mg')
|
|
288
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
289
|
+
assert is_text_present('6.00')
|
|
290
|
+
assert !is_text_present('-4.00')
|
|
291
|
+
assert is_text_present('3')
|
|
292
|
+
assert is_text_present('Ja')
|
|
293
|
+
assert is_text_present('N04BB01')
|
|
294
|
+
assert is_text_present('Producer AG')
|
|
295
|
+
end
|
|
296
|
+
def test_search__details
|
|
297
|
+
package = setup_package
|
|
298
|
+
package.add_code(Util::Code.new(:cid, '12345', 'CH'))
|
|
299
|
+
open "/"
|
|
300
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
301
|
+
type "query", "Amantadin"
|
|
302
|
+
click "//input[@type='submit']"
|
|
303
|
+
wait_for_page_to_load 30
|
|
304
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
305
|
+
get_title
|
|
306
|
+
assert is_text_present('Amantadin by Producer')
|
|
307
|
+
|
|
308
|
+
## click through to Details
|
|
309
|
+
click "link=Amantadin 100 mg"
|
|
310
|
+
wait_for_page_to_load 30
|
|
311
|
+
assert_equal "CH - ODDB.org | Medikamente | Details | Amantadin by Producer | Open Drug Database",
|
|
312
|
+
get_title
|
|
313
|
+
|
|
314
|
+
## click back to Result
|
|
315
|
+
click "link=Suchresultat"
|
|
316
|
+
wait_for_page_to_load 30
|
|
317
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
318
|
+
get_title
|
|
319
|
+
end
|
|
320
|
+
def test_search__direct_sort
|
|
321
|
+
setup_package("Amonamon")
|
|
322
|
+
setup_package("Nomamonamon")
|
|
323
|
+
open "/de/drugs/search/query/Producer/dstype/compare/sortvalue/product"
|
|
324
|
+
wait_for_page_to_load 30
|
|
325
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Producer | Preisvergleich | Open Drug Database",
|
|
326
|
+
get_title
|
|
327
|
+
|
|
328
|
+
assert_match(/^Nomamonamon/, get_text("cid_N04BB01_0"))
|
|
329
|
+
assert_match(/^Amonamon/, get_text("cid_N04BB01_1"))
|
|
330
|
+
end
|
|
331
|
+
def test_search__feedback
|
|
332
|
+
package = setup_package
|
|
333
|
+
package.add_code(Util::Code.new(:cid, '12345', 'CH'))
|
|
334
|
+
open "/"
|
|
335
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
336
|
+
type "query", "Amantadin"
|
|
337
|
+
click "//input[@type='submit']"
|
|
338
|
+
wait_for_page_to_load 30
|
|
339
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
340
|
+
get_title
|
|
341
|
+
assert is_text_present('Amantadin by Producer')
|
|
342
|
+
|
|
343
|
+
## click through to Feedback
|
|
344
|
+
assert is_element_present("link=FB")
|
|
345
|
+
click "//a[@name='feedback_short']"
|
|
346
|
+
wait_for_page_to_load 30
|
|
347
|
+
assert_equal "CH - ODDB.org | Medikamente | Feedback | Amantadin by Producer | Open Drug Database",
|
|
348
|
+
get_title
|
|
349
|
+
|
|
350
|
+
## click back to Result
|
|
351
|
+
click "link=Suchresultat"
|
|
352
|
+
wait_for_page_to_load 30
|
|
353
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
354
|
+
get_title
|
|
355
|
+
end
|
|
356
|
+
def test_search__limited
|
|
357
|
+
ODDB.config.query_limit = 1
|
|
358
|
+
package = setup_package
|
|
359
|
+
open "/de/drugs/search/query/Amantadin"
|
|
360
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
361
|
+
get_title
|
|
362
|
+
open "/de/drugs/search/query/Amantadin"
|
|
363
|
+
assert_equal 'CH - ODDB.org | Medikamente | Open Drug Database',
|
|
364
|
+
get_title
|
|
365
|
+
assert is_text_present("Abfragebeschränkung")
|
|
366
|
+
ensure
|
|
367
|
+
ODDB.config.query_limit = 20
|
|
368
|
+
end
|
|
369
|
+
def test_search__admin_not_limited
|
|
370
|
+
ODDB.config.query_limit = 1
|
|
371
|
+
package = setup_package
|
|
372
|
+
user = login_admin
|
|
373
|
+
2.times {
|
|
374
|
+
open "/de/drugs/search/query/Amantadin"
|
|
375
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
376
|
+
get_title
|
|
377
|
+
}
|
|
378
|
+
ensure
|
|
379
|
+
ODDB.config.query_limit = 20
|
|
380
|
+
end
|
|
381
|
+
def test_search__admin_atc
|
|
382
|
+
package = setup_package
|
|
383
|
+
package.sequence.atc = nil
|
|
384
|
+
user = login_admin
|
|
385
|
+
open "/de/drugs/search/query/Amantadin"
|
|
386
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
387
|
+
get_title
|
|
388
|
+
assert !is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
389
|
+
assert is_element_present("atc-assign")
|
|
390
|
+
assert is_element_present("atc-assign-toggle")
|
|
391
|
+
assert is_element_present("atc-assign-form")
|
|
392
|
+
assert !is_visible("atc-assign")
|
|
393
|
+
click "link=ATC zuweisen"
|
|
394
|
+
assert is_visible("atc-assign")
|
|
395
|
+
|
|
396
|
+
type "atc-assign", "N04BB02"
|
|
397
|
+
submit "atc-assign-form"
|
|
398
|
+
wait_for_page_to_load 30
|
|
399
|
+
|
|
400
|
+
assert is_text_present('Der ATC-Code "N04BB02" ist nicht bekannt.')
|
|
401
|
+
assert !is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
402
|
+
assert is_element_present("atc-assign")
|
|
403
|
+
assert is_element_present("atc-assign-toggle")
|
|
404
|
+
assert is_element_present("atc-assign-form")
|
|
405
|
+
assert is_visible("atc-assign")
|
|
406
|
+
|
|
407
|
+
type "atc-assign", "N04BB01"
|
|
408
|
+
submit "atc-assign-form"
|
|
409
|
+
wait_for_page_to_load 30
|
|
410
|
+
|
|
411
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
412
|
+
assert !is_element_present("atc-assign")
|
|
413
|
+
assert !is_element_present("atc-assign-toggle")
|
|
414
|
+
assert !is_element_present("atc-assign-form")
|
|
415
|
+
ensure
|
|
416
|
+
ODDB.config.query_limit = 20
|
|
417
|
+
end
|
|
418
|
+
def test_search__with_fachinfo
|
|
419
|
+
package = setup_package
|
|
420
|
+
package.fachinfo.de = "Fachinfo-Document"
|
|
421
|
+
open "/"
|
|
422
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
423
|
+
type "query", "Amantadin"
|
|
424
|
+
click "//input[@type='submit']"
|
|
425
|
+
wait_for_page_to_load 30
|
|
426
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
427
|
+
get_title
|
|
428
|
+
assert is_text_present('FI')
|
|
429
|
+
assert is_text_present('Amantadin by Producer')
|
|
430
|
+
assert is_text_present('100 mg')
|
|
431
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
432
|
+
assert is_text_present('6.00')
|
|
433
|
+
assert !is_text_present('-4.00')
|
|
434
|
+
assert is_text_present('3')
|
|
435
|
+
assert is_text_present('Ja')
|
|
436
|
+
assert is_text_present('N04BB01')
|
|
437
|
+
assert is_text_present('Producer AG')
|
|
438
|
+
end
|
|
439
|
+
def test_search__multiple_substances
|
|
440
|
+
package = setup_package
|
|
441
|
+
substance = Drugs::Substance.new
|
|
442
|
+
substance.name.de = "Propranolol"
|
|
443
|
+
dose = Drugs::Dose.new(50, 'mg')
|
|
444
|
+
active_agent = Drugs::ActiveAgent.new(substance, dose)
|
|
445
|
+
package.sequence.compositions.first.add_active_agent(active_agent)
|
|
446
|
+
open "/"
|
|
447
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
448
|
+
type "query", "Amantadin"
|
|
449
|
+
click "//input[@type='submit']"
|
|
450
|
+
wait_for_page_to_load 30
|
|
451
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
452
|
+
get_title
|
|
453
|
+
assert is_text_present('Amantadin by Producer')
|
|
454
|
+
assert is_text_present('2 Wirkstoffe')
|
|
455
|
+
end
|
|
456
|
+
def test_search__paged
|
|
457
|
+
pack = setup_package
|
|
458
|
+
other = setup_package('Amantadin Ophtal', 'S01AA01')
|
|
459
|
+
open "/"
|
|
460
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
461
|
+
flexstub(@server['test:preset-session-id']).should_receive(:pagelength).and_return(1)
|
|
462
|
+
type "query", "Amantadin"
|
|
463
|
+
click "//input[@type='submit']"
|
|
464
|
+
wait_for_page_to_load 30
|
|
465
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
466
|
+
get_title
|
|
467
|
+
assert is_text_present('Alle Präparate anzeigen')
|
|
468
|
+
assert !is_text_present('Zur ATC-Übersicht')
|
|
469
|
+
assert !is_text_present('<< 1 2 >>')
|
|
470
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
471
|
+
assert !is_text_present('Amantadin by Producer')
|
|
472
|
+
assert is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
473
|
+
assert !is_text_present('Amantadin Ophtal')
|
|
474
|
+
|
|
475
|
+
click 'link=Alle Präparate anzeigen'
|
|
476
|
+
wait_for_page_to_load 30
|
|
477
|
+
assert !is_text_present('Alle Präparate anzeigen')
|
|
478
|
+
assert is_text_present('Zur ATC-Übersicht')
|
|
479
|
+
assert is_text_present('<< 1 2 >>')
|
|
480
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
481
|
+
assert is_text_present('Amantadin by Producer')
|
|
482
|
+
assert !is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
483
|
+
assert !is_text_present('Amantadin Ophtal')
|
|
484
|
+
|
|
485
|
+
click 'link=>>'
|
|
486
|
+
wait_for_page_to_load 30
|
|
487
|
+
assert !is_text_present('Alle Präparate anzeigen')
|
|
488
|
+
assert is_text_present('Zur ATC-Übersicht')
|
|
489
|
+
assert is_text_present('<< 1 2 >>')
|
|
490
|
+
assert !is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
491
|
+
assert !is_text_present('Amantadin by Producer')
|
|
492
|
+
assert is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
493
|
+
assert is_text_present('Amantadin Ophtal')
|
|
494
|
+
|
|
495
|
+
click 'link=Zur ATC-Übersicht'
|
|
496
|
+
wait_for_page_to_load 30
|
|
497
|
+
assert is_text_present('Alle Präparate anzeigen')
|
|
498
|
+
assert !is_text_present('Zur ATC-Übersicht')
|
|
499
|
+
assert !is_text_present('<< 1 2 >>')
|
|
500
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
501
|
+
assert !is_text_present('Amantadin by Producer')
|
|
502
|
+
assert is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
503
|
+
assert !is_text_present('Amantadin Ophtal')
|
|
504
|
+
|
|
505
|
+
click 'link=Amantadin (N04BB01) - 1 Präparate'
|
|
506
|
+
wait_for_page_to_load 30
|
|
507
|
+
assert is_text_present('Alle Präparate anzeigen')
|
|
508
|
+
assert !is_text_present('Zur ATC-Übersicht')
|
|
509
|
+
assert !is_text_present('<< 1 2 >>')
|
|
510
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
511
|
+
assert is_text_present('Amantadin by Producer')
|
|
512
|
+
assert is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
513
|
+
assert !is_text_present('Amantadin Ophtal')
|
|
514
|
+
|
|
515
|
+
click 'link=Amantadin (S01AA01) - 1 Präparate'
|
|
516
|
+
wait_for_page_to_load 30
|
|
517
|
+
assert is_text_present('Alle Präparate anzeigen')
|
|
518
|
+
assert !is_text_present('Zur ATC-Übersicht')
|
|
519
|
+
assert !is_text_present('<< 1 2 >>')
|
|
520
|
+
assert is_text_present('Amantadin (N04BB01) - 1 Präparate')
|
|
521
|
+
assert !is_text_present('Amantadin by Producer')
|
|
522
|
+
assert is_text_present('Amantadin (S01AA01) - 1 Präparate')
|
|
523
|
+
assert is_text_present('Amantadin Ophtal')
|
|
524
|
+
end
|
|
525
|
+
def test_search__short
|
|
526
|
+
open "/"
|
|
527
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
528
|
+
type "query", "A"
|
|
529
|
+
click "//input[@type='submit']"
|
|
530
|
+
wait_for_page_to_load 30
|
|
531
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | A | Markenname | Open Drug Database",
|
|
532
|
+
get_title
|
|
533
|
+
expected = 'Ihr Such-Stichwort ergibt ein sehr grosses Resultat. Bitte verwenden Sie mindestens 3 Buchstaben.'
|
|
534
|
+
assert is_text_present(expected)
|
|
535
|
+
end
|
|
536
|
+
def test_search__substance
|
|
537
|
+
pack = setup_package
|
|
538
|
+
flexstub(pack).should_receive(:substance).and_return('Amantadin')
|
|
539
|
+
open "/"
|
|
540
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
541
|
+
type "query", "amantadin"
|
|
542
|
+
select 'dstype', 'Inhaltsstoff'
|
|
543
|
+
# no click necessary
|
|
544
|
+
# click "//input[@type='submit']"
|
|
545
|
+
wait_for_page_to_load 30
|
|
546
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | amantadin | Inhaltsstoff | Open Drug Database",
|
|
547
|
+
get_title
|
|
548
|
+
assert is_text_present('Amantadin by Producer')
|
|
549
|
+
assert is_text_present('100 mg')
|
|
550
|
+
assert is_text_present('5 Ampullen à 20 ml')
|
|
551
|
+
assert is_text_present('6.00')
|
|
552
|
+
assert !is_text_present('-4.00')
|
|
553
|
+
assert is_text_present('3')
|
|
554
|
+
assert is_text_present('Ja')
|
|
555
|
+
assert is_text_present('N04BB01')
|
|
556
|
+
assert is_text_present('Producer AG')
|
|
557
|
+
end
|
|
558
|
+
def test_search__export_csv
|
|
559
|
+
pack = setup_package
|
|
560
|
+
ODDB.config.query_limit = 20
|
|
561
|
+
package = setup_package
|
|
562
|
+
open "/"
|
|
563
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
564
|
+
type "query", "Amantadin"
|
|
565
|
+
click "//input[@type='submit']"
|
|
566
|
+
wait_for_page_to_load 30
|
|
567
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
568
|
+
get_title
|
|
569
|
+
assert is_element_present '//input[@name="export_csv"]'
|
|
570
|
+
click '//input[@name="export_csv"]'
|
|
571
|
+
wait_for_page_to_load 30
|
|
572
|
+
assert_equal "CH - ODDB.org | Medikamente | CSV-Export | Amantadin | Markenname | Open Drug Database",
|
|
573
|
+
get_title
|
|
574
|
+
|
|
575
|
+
assert is_text_present("CSV-Export Datenerfassung")
|
|
576
|
+
assert is_text_present('Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.')
|
|
577
|
+
|
|
578
|
+
assert_equal "E-Mail", get_text("//label[@for='email']")
|
|
579
|
+
assert is_element_present("email")
|
|
580
|
+
assert_equal "Passwort", get_text("//label[@for='pass']")
|
|
581
|
+
assert is_element_present("pass")
|
|
582
|
+
assert_equal "Bestätigung", get_text("//label[@for='confirm_pass']")
|
|
583
|
+
assert is_element_present("confirm_pass")
|
|
584
|
+
assert_equal "Anrede", get_text("//label[@for='salutation']")
|
|
585
|
+
assert is_element_present("salutation")
|
|
586
|
+
assert_equal "Nachname", get_text("//label[@for='name_last']")
|
|
587
|
+
assert is_element_present("name_last")
|
|
588
|
+
assert_equal "Vorname", get_text("//label[@for='name_first']")
|
|
589
|
+
assert is_element_present("name_first")
|
|
590
|
+
|
|
591
|
+
assert is_text_present("2 x")
|
|
592
|
+
assert is_text_present("Amantadin_tradename.csv")
|
|
593
|
+
|
|
594
|
+
refresh
|
|
595
|
+
wait_for_page_to_load 30
|
|
596
|
+
assert_equal "CH - ODDB.org | Medikamente | CSV-Export | Amantadin | Markenname | Open Drug Database",
|
|
597
|
+
get_title
|
|
598
|
+
|
|
599
|
+
assert is_text_present("CSV-Export Datenerfassung")
|
|
600
|
+
assert is_text_present('Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.')
|
|
601
|
+
|
|
602
|
+
assert_equal "E-Mail", get_text("//label[@for='email']")
|
|
603
|
+
assert is_element_present("email")
|
|
604
|
+
assert_equal "Passwort", get_text("//label[@for='pass']")
|
|
605
|
+
assert is_element_present("pass")
|
|
606
|
+
assert_equal "Bestätigung", get_text("//label[@for='confirm_pass']")
|
|
607
|
+
assert is_element_present("confirm_pass")
|
|
608
|
+
assert_equal "Anrede", get_text("//label[@for='salutation']")
|
|
609
|
+
assert is_element_present("salutation")
|
|
610
|
+
assert_equal "Nachname", get_text("//label[@for='name_last']")
|
|
611
|
+
assert is_element_present("name_last")
|
|
612
|
+
assert_equal "Vorname", get_text("//label[@for='name_first']")
|
|
613
|
+
assert is_element_present("name_first")
|
|
614
|
+
|
|
615
|
+
assert is_text_present("2 x")
|
|
616
|
+
assert is_text_present("Amantadin_tradename.csv")
|
|
617
|
+
|
|
618
|
+
end
|
|
619
|
+
def test_search__export_csv__step2_error
|
|
620
|
+
pack = setup_package
|
|
621
|
+
ODDB.config.query_limit = 20
|
|
622
|
+
package = setup_package
|
|
623
|
+
open "/"
|
|
624
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
625
|
+
type "query", "Amantadin"
|
|
626
|
+
click "//input[@type='submit']"
|
|
627
|
+
wait_for_page_to_load 30
|
|
628
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
629
|
+
get_title
|
|
630
|
+
assert is_element_present '//input[@name="export_csv"]'
|
|
631
|
+
click '//input[@name="export_csv"]'
|
|
632
|
+
wait_for_page_to_load 30
|
|
633
|
+
assert_equal "CH - ODDB.org | Medikamente | CSV-Export | Amantadin | Markenname | Open Drug Database",
|
|
634
|
+
get_title
|
|
635
|
+
|
|
636
|
+
assert is_text_present("CSV-Export Datenerfassung")
|
|
637
|
+
assert is_text_present('Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.')
|
|
638
|
+
|
|
639
|
+
@auth.should_receive(:login).and_return { raise Yus::UnknownEntityError }
|
|
640
|
+
click "//input[@type='submit']"
|
|
641
|
+
wait_for_page_to_load 30
|
|
642
|
+
assert_equal "CH - ODDB.org | Medikamente | CSV-Export | Amantadin | Markenname | Open Drug Database",
|
|
643
|
+
get_title
|
|
644
|
+
assert is_text_present("Bitte füllen Sie alle Felder aus.")
|
|
645
|
+
%w{email pass confirm_pass salutation name_last name_first}.each { |key|
|
|
646
|
+
assert_equal "error", get_attribute("//label[@for='#{key}']@class")
|
|
647
|
+
}
|
|
648
|
+
end
|
|
649
|
+
def test_search__export_csv__step2
|
|
650
|
+
yus = flexmock("yus-server")
|
|
651
|
+
remote = DRb.start_service('druby://localhost:0', yus)
|
|
652
|
+
yus_session = setup_autosession(yus)
|
|
653
|
+
yus_session.should_receive(:get_entity_preferences).and_return({})
|
|
654
|
+
email = "downloader@oddb.org"
|
|
655
|
+
ODDB.config.auth_server = remote.uri
|
|
656
|
+
|
|
657
|
+
pack = setup_package
|
|
658
|
+
ODDB.config.query_limit = 20
|
|
659
|
+
package = setup_package
|
|
660
|
+
open "/"
|
|
661
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
662
|
+
type "query", "Amantadin"
|
|
663
|
+
click "//input[@type='submit']"
|
|
664
|
+
wait_for_page_to_load 30
|
|
665
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
666
|
+
get_title
|
|
667
|
+
assert is_element_present '//input[@name="export_csv"]'
|
|
668
|
+
click '//input[@name="export_csv"]'
|
|
669
|
+
wait_for_page_to_load 30
|
|
670
|
+
assert_equal "CH - ODDB.org | Medikamente | CSV-Export | Amantadin | Markenname | Open Drug Database",
|
|
671
|
+
get_title
|
|
672
|
+
|
|
673
|
+
assert is_text_present("CSV-Export Datenerfassung")
|
|
674
|
+
assert is_text_present('Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.')
|
|
675
|
+
|
|
676
|
+
@auth.should_receive(:login).and_return { raise Yus::UnknownEntityError }
|
|
677
|
+
type "email", email
|
|
678
|
+
type "pass", "secret"
|
|
679
|
+
type "confirm_pass", "secret"
|
|
680
|
+
select "//select[@name='salutation']", "Herr"
|
|
681
|
+
type "name_last", "Test"
|
|
682
|
+
type "name_first", "Fritz"
|
|
683
|
+
|
|
684
|
+
yus_session.should_receive(:create_entity).with(email, "5ebe2294ecd0e0f08eab7690d2a6ee69")
|
|
685
|
+
user = mock_user email
|
|
686
|
+
ODDB.server = server = flexmock("server")
|
|
687
|
+
server.should_receive(:login).and_return(user)
|
|
688
|
+
@auth.should_receive(:login).and_return(user)
|
|
689
|
+
|
|
690
|
+
click "//input[@type='submit']"
|
|
691
|
+
wait_for_page_to_load 30
|
|
692
|
+
|
|
693
|
+
output = @http_server.redirected_output
|
|
694
|
+
assert_match /www.sandbox.paypal.com/, output
|
|
695
|
+
end
|
|
696
|
+
def test_search__export_csv__direct
|
|
697
|
+
pack = setup_package
|
|
698
|
+
user = login 'test.export@oddb.org', ['download', 'org.oddb.de.Amantadin_tradename.csv']
|
|
699
|
+
ODDB.config.query_limit = 20
|
|
700
|
+
package = setup_package
|
|
701
|
+
open "/"
|
|
702
|
+
assert_equal "CH - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
703
|
+
type "query", "Amantadin"
|
|
704
|
+
click "//input[@type='submit']"
|
|
705
|
+
wait_for_page_to_load 30
|
|
706
|
+
assert_equal "CH - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
707
|
+
get_title
|
|
708
|
+
assert is_element_present '//input[@name="export_csv"]'
|
|
709
|
+
click '//input[@name="export_csv"]'
|
|
710
|
+
|
|
711
|
+
assert @http_server.attachment
|
|
712
|
+
end
|
|
713
|
+
end
|
|
714
|
+
end
|
|
715
|
+
end
|