de.oddb 2.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/Guide.txt +3 -0
- data/History.txt +5 -0
- data/LICENCE.txt +339 -0
- data/Manifest.txt +430 -0
- data/README +423 -0
- data/README.txt +25 -0
- data/Rakefile +28 -0
- data/bin/admin +71 -0
- data/bin/exportd +44 -0
- data/bin/oddbd +33 -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/jobs/export_chde_xls +20 -0
- data/jobs/export_csv +20 -0
- data/jobs/export_fachinfo_yaml +20 -0
- data/jobs/export_patinfo_yaml +20 -0
- data/jobs/export_yaml +20 -0
- data/jobs/import_dimdi +15 -0
- data/jobs/import_gkv +19 -0
- data/jobs/import_pharma24 +15 -0
- data/jobs/import_pharmnet +30 -0
- data/jobs/import_whocc +18 -0
- data/lib/fixes/singular.rb +9 -0
- data/lib/fixes/yaml.rb +13 -0
- data/lib/oddb.rb +13 -0
- data/lib/oddb/business/company.rb +18 -0
- data/lib/oddb/business/grant_download.rb +27 -0
- data/lib/oddb/business/invoice.rb +75 -0
- data/lib/oddb/config.rb +112 -0
- data/lib/oddb/currency.rb +6 -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 +111 -0
- data/lib/oddb/drugs/part.rb +55 -0
- data/lib/oddb/drugs/product.rb +25 -0
- data/lib/oddb/drugs/sequence.rb +68 -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 +94 -0
- data/lib/oddb/export/l10n_sessions.rb +30 -0
- data/lib/oddb/export/rss.rb +44 -0
- data/lib/oddb/export/server.rb +137 -0
- data/lib/oddb/export/xls.rb +127 -0
- data/lib/oddb/export/yaml.rb +212 -0
- data/lib/oddb/html/state/download.rb +13 -0
- data/lib/oddb/html/state/drugs/admin/package.rb +190 -0
- data/lib/oddb/html/state/drugs/admin/product.rb +56 -0
- data/lib/oddb/html/state/drugs/admin/sequence.rb +253 -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/downloads.rb +42 -0
- data/lib/oddb/html/state/drugs/fachinfo.rb +21 -0
- data/lib/oddb/html/state/drugs/feedback.rb +91 -0
- data/lib/oddb/html/state/drugs/global.rb +270 -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 +206 -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 +97 -0
- data/lib/oddb/html/state/paypal/collect.rb +19 -0
- data/lib/oddb/html/state/paypal/download.rb +61 -0
- data/lib/oddb/html/state/paypal/redirect.rb +18 -0
- data/lib/oddb/html/state/register_download.rb +24 -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 +79 -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 +698 -0
- data/lib/oddb/html/util/need_all_input.rb +29 -0
- data/lib/oddb/html/util/session.rb +84 -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 +59 -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 +117 -0
- data/lib/oddb/html/view/download.rb +33 -0
- data/lib/oddb/html/view/drugs/admin/package.rb +245 -0
- data/lib/oddb/html/view/drugs/admin/product.rb +104 -0
- data/lib/oddb/html/view/drugs/admin/sequence.rb +305 -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/downloads.rb +128 -0
- data/lib/oddb/html/view/drugs/fachinfo.rb +46 -0
- data/lib/oddb/html/view/drugs/feedback.rb +235 -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 +403 -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 +95 -0
- data/lib/oddb/html/view/paypal/redirect.rb +51 -0
- data/lib/oddb/html/view/paypal/register_form.rb +149 -0
- data/lib/oddb/html/view/register_download.rb +29 -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 +61 -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/dimdi.rb +583 -0
- data/lib/oddb/import/excel.rb +45 -0
- data/lib/oddb/import/gkv.rb +463 -0
- data/lib/oddb/import/importer.rb +36 -0
- data/lib/oddb/import/pharma24.rb +211 -0
- data/lib/oddb/import/pharmnet.rb +1186 -0
- data/lib/oddb/import/rtf.rb +409 -0
- data/lib/oddb/import/whocc.rb +148 -0
- data/lib/oddb/import/xml.rb +15 -0
- data/lib/oddb/model.rb +179 -0
- data/lib/oddb/persistence.rb +22 -0
- data/lib/oddb/persistence/odba.rb +32 -0
- data/lib/oddb/persistence/odba/business/company.rb +13 -0
- data/lib/oddb/persistence/odba/business/grant_download.rb +14 -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/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/remote/business/company.rb +17 -0
- data/lib/oddb/remote/drugs/active_agent.rb +27 -0
- data/lib/oddb/remote/drugs/atc.rb +31 -0
- data/lib/oddb/remote/drugs/dose.rb +8 -0
- data/lib/oddb/remote/drugs/galenic_form.rb +24 -0
- data/lib/oddb/remote/drugs/package.rb +128 -0
- data/lib/oddb/remote/drugs/part.rb +30 -0
- data/lib/oddb/remote/drugs/substance.rb +20 -0
- data/lib/oddb/remote/drugs/unit.rb +20 -0
- data/lib/oddb/remote/object.rb +36 -0
- data/lib/oddb/text/chapter.rb +23 -0
- data/lib/oddb/text/document.rb +42 -0
- data/lib/oddb/text/format.rb +37 -0
- data/lib/oddb/text/paragraph.rb +53 -0
- data/lib/oddb/text/picture.rb +89 -0
- data/lib/oddb/text/table.rb +68 -0
- data/lib/oddb/util.rb +9 -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/download.rb +17 -0
- data/lib/oddb/util/exporter.rb +8 -0
- data/lib/oddb/util/feedback.rb +23 -0
- data/lib/oddb/util/ipn.rb +53 -0
- data/lib/oddb/util/job.rb +23 -0
- data/lib/oddb/util/logger.rb +20 -0
- data/lib/oddb/util/m10l_document.rb +41 -0
- data/lib/oddb/util/mail.rb +87 -0
- data/lib/oddb/util/money.rb +64 -0
- data/lib/oddb/util/multilingual.rb +70 -0
- data/lib/oddb/util/quanty.rb +3 -0
- data/lib/oddb/util/quanty/fact.rb +242 -0
- data/lib/oddb/util/quanty/main.rb +164 -0
- data/lib/oddb/util/quanty/parse.rb +872 -0
- data/lib/oddb/util/quanty/units.dump +0 -0
- data/lib/oddb/util/server.rb +150 -0
- data/lib/oddb/util/smtp_tls.rb +58 -0
- data/lib/oddb/util/updater.rb +161 -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_grant_download.rb +29 -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 +189 -0
- data/test/drugs/test_galenic_form.rb +41 -0
- data/test/drugs/test_package.rb +172 -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 +86 -0
- data/test/export/test_server.rb +163 -0
- data/test/export/test_xls.rb +146 -0
- data/test/export/test_yaml.rb +120 -0
- data/test/import/data/csv/products.csv +11 -0
- data/test/import/data/html/dimdi_index.html +400 -0
- data/test/import/data/html/gkv/Befreiungsliste_Arzneimittel_Versicherte.gkvnet +508 -0
- data/test/import/data/html/pharma24/1337397.html +754 -0
- data/test/import/data/html/pharma24/842756.html +570 -0
- data/test/import/data/html/pharma24/ac-page-10.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-11.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-12.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-13.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-14.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-15.html +3011 -0
- data/test/import/data/html/pharma24/ac-page-16.html +3050 -0
- data/test/import/data/html/pharma24/ac-page-17.html +3285 -0
- data/test/import/data/html/pharma24/ac-page-18.html +3109 -0
- data/test/import/data/html/pharma24/ac-page-19.html +3126 -0
- data/test/import/data/html/pharma24/ac-page-2.html +3005 -0
- data/test/import/data/html/pharma24/ac-page-20.html +3007 -0
- data/test/import/data/html/pharma24/ac-page-21.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-22.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-23.html +3055 -0
- data/test/import/data/html/pharma24/ac-page-24.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-25.html +3004 -0
- data/test/import/data/html/pharma24/ac-page-26.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-27.html +3167 -0
- data/test/import/data/html/pharma24/ac-page-28.html +3236 -0
- data/test/import/data/html/pharma24/ac-page-29.html +3110 -0
- data/test/import/data/html/pharma24/ac-page-3.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-30.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-31.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-32.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-33.html +3001 -0
- data/test/import/data/html/pharma24/ac-page-34.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-35.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-36.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-37.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-38.html +3003 -0
- data/test/import/data/html/pharma24/ac-page-39.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-4.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-40.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-41.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-42.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-43.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-44.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-45.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-46.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-47.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-48.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-49.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-5.html +3168 -0
- data/test/import/data/html/pharma24/ac-page-50.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-51.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-52.html +3003 -0
- data/test/import/data/html/pharma24/ac-page-53.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-54.html +3095 -0
- data/test/import/data/html/pharma24/ac-page-55.html +3041 -0
- data/test/import/data/html/pharma24/ac-page-56.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-57.html +3001 -0
- data/test/import/data/html/pharma24/ac-page-58.html +3001 -0
- data/test/import/data/html/pharma24/ac-page-59.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-6.html +3072 -0
- data/test/import/data/html/pharma24/ac-page-60.html +3001 -0
- data/test/import/data/html/pharma24/ac-page-61.html +3005 -0
- data/test/import/data/html/pharma24/ac-page-62.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-63.html +3007 -0
- data/test/import/data/html/pharma24/ac-page-64.html +3007 -0
- data/test/import/data/html/pharma24/ac-page-65.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-66.html +3011 -0
- data/test/import/data/html/pharma24/ac-page-67.html +3026 -0
- data/test/import/data/html/pharma24/ac-page-68.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-69.html +3010 -0
- data/test/import/data/html/pharma24/ac-page-7.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-70.html +3192 -0
- data/test/import/data/html/pharma24/ac-page-71.html +3133 -0
- data/test/import/data/html/pharma24/ac-page-72.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-73.html +3227 -0
- data/test/import/data/html/pharma24/ac-page-74.html +3241 -0
- data/test/import/data/html/pharma24/ac-page-75.html +3227 -0
- data/test/import/data/html/pharma24/ac-page-76.html +3244 -0
- data/test/import/data/html/pharma24/ac-page-77.html +1164 -0
- data/test/import/data/html/pharma24/ac-page-8.html +2999 -0
- data/test/import/data/html/pharma24/ac-page-9.html +2999 -0
- data/test/import/data/html/pharma24/ac.html +2999 -0
- data/test/import/data/html/pharmnet/display.html +662 -0
- data/test/import/data/html/pharmnet/display1.html +625 -0
- data/test/import/data/html/pharmnet/display2.html +625 -0
- data/test/import/data/html/pharmnet/display3.html +625 -0
- data/test/import/data/html/pharmnet/display_tramal.html +634 -0
- data/test/import/data/html/pharmnet/empty_result.html +395 -0
- data/test/import/data/html/pharmnet/gate.html +246 -0
- data/test/import/data/html/pharmnet/index.html +258 -0
- data/test/import/data/html/pharmnet/paged_result_1.html +401 -0
- data/test/import/data/html/pharmnet/paged_result_2.html +401 -0
- data/test/import/data/html/pharmnet/result.html +401 -0
- data/test/import/data/html/pharmnet/search.html +865 -0
- data/test/import/data/html/pharmnet/search_filtered.html +182 -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/mail/csv.mail +81 -0
- data/test/import/data/rtf/pharmnet/aarane.pi.rtf +648 -0
- data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.pi.rtf +324 -0
- data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.rtf +4816 -0
- data/test/import/data/rtf/pharmnet/acemetacin.pi.rtf +388 -0
- data/test/import/data/rtf/pharmnet/acemit.pi.rtf +240 -0
- data/test/import/data/rtf/pharmnet/acerbon.pi.rtf +1257 -0
- data/test/import/data/rtf/pharmnet/acetylcystein.pi.rtf +323 -0
- data/test/import/data/rtf/pharmnet/aciclo.pi.rtf +287 -0
- data/test/import/data/rtf/pharmnet/aciclovir.pi.rtf +236 -0
- data/test/import/data/rtf/pharmnet/actrapid.pi.rtf +322 -0
- data/test/import/data/rtf/pharmnet/amlodipin.pi.rtf +452 -0
- data/test/import/data/rtf/pharmnet/amlodipin.rtf +473 -0
- data/test/import/data/rtf/pharmnet/aspirin.pi.rtf +313 -0
- data/test/import/data/rtf/pharmnet/aspirin.rtf +781 -0
- data/test/import/data/rtf/pharmnet/baymycard.pi.rtf +447 -0
- data/test/import/data/rtf/pharmnet/omeprazol.pi.rtf +510 -0
- data/test/import/data/rtf/pharmnet/omeprazol.rtf +9216 -0
- data/test/import/data/rtf/pharmnet/paroxetin.pi.rtf +678 -0
- data/test/import/data/rtf/pharmnet/selegilin.pi.rtf +312 -0
- data/test/import/data/rtf/pharmnet/selegilin.rtf +683 -0
- data/test/import/data/rtf/pharmnet/valium.pi.rtf +387 -0
- data/test/import/data/txt/gkv/gkv_p1.txt +17 -0
- data/test/import/data/xls/darform_010706.xls +0 -0
- data/test/import/data/xls/fb010706.xls +0 -0
- data/test/import/data/xls/liste_zuzahlungsbefreite_arzneimittel_suchfunktion.xls +0 -0
- data/test/import/data/xls/wirkkurz_010406.xls +0 -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_dimdi.rb +323 -0
- data/test/import/test_excel.rb +31 -0
- data/test/import/test_gkv.rb +260 -0
- data/test/import/test_pharma24.rb +112 -0
- data/test/import/test_pharmnet.rb +980 -0
- data/test/import/test_rtf.rb +37 -0
- data/test/import/test_whocc.rb +314 -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 +121 -0
- data/test/selenium/test_atc_guidelines.rb +95 -0
- data/test/selenium/test_collect.rb +137 -0
- data/test/selenium/test_compare.rb +294 -0
- data/test/selenium/test_fachinfo.rb +128 -0
- data/test/selenium/test_feedback.rb +192 -0
- data/test/selenium/test_init.rb +64 -0
- data/test/selenium/test_limit.rb +304 -0
- data/test/selenium/test_login.rb +67 -0
- data/test/selenium/test_package.rb +516 -0
- data/test/selenium/test_patinfo.rb +128 -0
- data/test/selenium/test_product.rb +80 -0
- data/test/selenium/test_products.rb +141 -0
- data/test/selenium/test_search.rb +933 -0
- data/test/selenium/test_sequence.rb +513 -0
- data/test/selenium/unit.rb +190 -0
- data/test/stub/http_server.rb +144 -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 +85 -0
- data/test/util/test_multilingual.rb +97 -0
- data/test/util/test_server.rb +94 -0
- data/test/util/test_updater.rb +130 -0
- data/test/util/test_ydim.rb +115 -0
- data/test/util/test_yus.rb +79 -0
- metadata +568 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Selenium::TestAtcGuidelines -- de.oddb.org -- 16.03.2007 -- hwyss@ywesee.com
|
|
3
|
+
|
|
4
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
5
|
+
|
|
6
|
+
require 'selenium/unit'
|
|
7
|
+
require 'stub/model'
|
|
8
|
+
|
|
9
|
+
module ODDB
|
|
10
|
+
module Selenium
|
|
11
|
+
class TestAtcGuidelines < Test::Unit::TestCase
|
|
12
|
+
include Selenium::TestCase
|
|
13
|
+
def setup
|
|
14
|
+
super
|
|
15
|
+
@atc1 = Drugs::Atc.new('N04BA02')
|
|
16
|
+
@atc1.name.de = 'Levodopa und Decarboxylasehemmer'
|
|
17
|
+
ddd = Drugs::Ddd.new('O')
|
|
18
|
+
ddd.dose = Drugs::Dose.new(0.6, 'g')
|
|
19
|
+
@atc1.add_ddd(ddd)
|
|
20
|
+
@atc1.save
|
|
21
|
+
@atc2 = Drugs::Atc.new('N04BA')
|
|
22
|
+
@atc2.name.de = 'Dopa und Dopa-Derivate'
|
|
23
|
+
@atc2.guidelines.en = <<-EOS
|
|
24
|
+
Combinations with decarboxylase inhibitors and other dopaminergic agents are classified here.
|
|
25
|
+
EOS
|
|
26
|
+
@atc2.ddd_guidelines.en = <<-EOS
|
|
27
|
+
The DDD for the combination of levodopa and decarboxylase inhibitor is based on the content of levodopa, see ATC index.
|
|
28
|
+
EOS
|
|
29
|
+
@atc2.save
|
|
30
|
+
@atc3 = Drugs::Atc.new('N04B')
|
|
31
|
+
@atc3.name.de = 'Dopaminerge Mittel'
|
|
32
|
+
@atc3.save
|
|
33
|
+
@atc4 = Drugs::Atc.new('N04')
|
|
34
|
+
@atc4.name.de = 'Antiparkinsonmittel'
|
|
35
|
+
@atc4.guidelines.en = <<-EOS
|
|
36
|
+
This group comprises preparations used in the treatment of Parkinson's disease and related conditions, including drug-induced parkinsonism.
|
|
37
|
+
EOS
|
|
38
|
+
@atc4.ddd_guidelines.en = <<-EOS
|
|
39
|
+
The DDDs are based on recommended doses for the long-term treatment of symptoms of Parkinson's disease.
|
|
40
|
+
No separate DDDs are established for oral depot formulations.
|
|
41
|
+
EOS
|
|
42
|
+
@atc4.save
|
|
43
|
+
@atc5 = Drugs::Atc.new('N')
|
|
44
|
+
@atc5.name.de = 'Nervensystem'
|
|
45
|
+
@atc5.save
|
|
46
|
+
@atc6 = Drugs::Atc.new('N04BA03')
|
|
47
|
+
@atc6.name.de = 'Levodopa, Decarboxylasehemmer und COMT-Hemmer'
|
|
48
|
+
@atc6.save
|
|
49
|
+
end
|
|
50
|
+
def test_guidelines
|
|
51
|
+
open "/de/drugs/ddd/code/N04BA02"
|
|
52
|
+
|
|
53
|
+
assert_equal 'DE - ODDB.org | Medikamente | Tagesdosis | N04BA02 | Open Drug Database',
|
|
54
|
+
get_title
|
|
55
|
+
assert is_text_present('N - Nervensystem')
|
|
56
|
+
assert is_text_present('N04 - Antiparkinsonmittel')
|
|
57
|
+
assert is_text_present(@atc4.guidelines.en)
|
|
58
|
+
assert is_text_present(@atc4.ddd_guidelines.en)
|
|
59
|
+
assert is_text_present('N04B - Dopaminerge Mittel')
|
|
60
|
+
assert is_text_present('N04BA - Dopa und Dopa-Derivate')
|
|
61
|
+
assert is_text_present(@atc2.guidelines.en)
|
|
62
|
+
assert is_text_present(@atc2.ddd_guidelines.en)
|
|
63
|
+
assert is_text_present('N04BA02 - Levodopa und Decarboxylasehemmer')
|
|
64
|
+
assert is_text_present('Oral')
|
|
65
|
+
|
|
66
|
+
click 'link=N04BA'
|
|
67
|
+
wait_for_page_to_load "30000"
|
|
68
|
+
assert_equal 'DE - ODDB.org | Medikamente | Tagesdosis | N04BA | Open Drug Database',
|
|
69
|
+
get_title
|
|
70
|
+
assert is_text_present('N - Nervensystem')
|
|
71
|
+
assert is_text_present('N04 - Antiparkinsonmittel')
|
|
72
|
+
assert is_text_present(@atc4.guidelines.en)
|
|
73
|
+
assert is_text_present(@atc4.ddd_guidelines.en)
|
|
74
|
+
assert is_text_present('N04B - Dopaminerge Mittel')
|
|
75
|
+
assert is_text_present('N04BA - Dopa und Dopa-Derivate')
|
|
76
|
+
assert is_text_present(@atc2.guidelines.en)
|
|
77
|
+
assert is_text_present(@atc2.ddd_guidelines.en)
|
|
78
|
+
assert !is_text_present('N04BA02 - Levodopa und Decarboxylasehemmer')
|
|
79
|
+
assert !is_text_present('Oral')
|
|
80
|
+
end
|
|
81
|
+
def test_guidelines__limited
|
|
82
|
+
ODDB.config.query_limit = 1
|
|
83
|
+
open "/de/drugs/ddd/code/N04BA02"
|
|
84
|
+
assert_equal 'DE - ODDB.org | Medikamente | Tagesdosis | N04BA02 | Open Drug Database',
|
|
85
|
+
get_title
|
|
86
|
+
open "/de/drugs/ddd/code/N04BA02"
|
|
87
|
+
assert_equal 'DE - ODDB.org | Medikamente | Open Drug Database',
|
|
88
|
+
get_title
|
|
89
|
+
assert is_text_present("Abfragebeschränkung")
|
|
90
|
+
ensure
|
|
91
|
+
ODDB.config.query_limit = 20
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Selenium::Collect -- de.oddb.org -- 04.02.2008 -- hwyss@ywesee.com
|
|
3
|
+
|
|
4
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
|
5
|
+
|
|
6
|
+
require 'selenium/unit'
|
|
7
|
+
require 'stub/model'
|
|
8
|
+
|
|
9
|
+
module ODDB
|
|
10
|
+
module Selenium
|
|
11
|
+
class TestCollect < Test::Unit::TestCase
|
|
12
|
+
include Selenium::TestCase
|
|
13
|
+
def test_collect__unknown_invoice
|
|
14
|
+
open "/de/drugs/collect/invoice/875967c31e83eec9decea52130e7ee72"
|
|
15
|
+
assert is_text_present('Fehler')
|
|
16
|
+
assert is_text_present('Ihre Transaktion ist bei uns nicht registriert. Setzen Sie sich bitte per E-Mail mit uns in Verbindung.')
|
|
17
|
+
end
|
|
18
|
+
def test_collect__unpaid_invoice
|
|
19
|
+
email = 'test@invoice.ch'
|
|
20
|
+
invoice = Business::Invoice.new
|
|
21
|
+
invoice.yus_name = email
|
|
22
|
+
item = invoice.add :poweruser, "unlimited access", 365, "Tage", 2
|
|
23
|
+
invoice.save
|
|
24
|
+
id = invoice.id
|
|
25
|
+
|
|
26
|
+
open "/de/drugs/collect/invoice/#{id}"
|
|
27
|
+
assert is_text_present('Ihre Bezahlung ist von PayPal noch nicht bestätigt worden. Sobald dies geschieht werden wir Sie per E-Mail benachrichtigen.')
|
|
28
|
+
## automatic reload
|
|
29
|
+
wait_for_page_to_load "30000"
|
|
30
|
+
assert is_text_present('Ihre Bezahlung ist von PayPal noch nicht bestätigt worden. Sobald dies geschieht werden wir Sie per E-Mail benachrichtigen.')
|
|
31
|
+
end
|
|
32
|
+
def test_collect
|
|
33
|
+
email = 'test@invoice.ch'
|
|
34
|
+
invoice = Business::Invoice.new
|
|
35
|
+
invoice.yus_name = email
|
|
36
|
+
item = invoice.add :poweruser, "unlimited access", 365, "Tage", 2
|
|
37
|
+
invoice.status = 'completed'
|
|
38
|
+
invoice.save
|
|
39
|
+
id = invoice.id
|
|
40
|
+
|
|
41
|
+
open "/de/drugs/collect/invoice/#{id}"
|
|
42
|
+
assert is_text_present('Vielen Dank! Als angemeldeter Benutzer können Sie jetzt ohne Beschränkung Abfragen vornehmen.')
|
|
43
|
+
assert is_text_present('Ihr PowerUser-Account ist bereit. Bitte melden Sie sich hier erneut mit E-Mail und Passwort an.')
|
|
44
|
+
|
|
45
|
+
click 'link=hier'
|
|
46
|
+
wait_for_page_to_load "30000"
|
|
47
|
+
assert is_element_present("email")
|
|
48
|
+
assert is_element_present("pass")
|
|
49
|
+
end
|
|
50
|
+
def test_collect__logged_in
|
|
51
|
+
ODDB.config.auth_domain = 'org.oddb.de'
|
|
52
|
+
|
|
53
|
+
email = 'test@invoice.ch'
|
|
54
|
+
invoice = Business::Invoice.new
|
|
55
|
+
invoice.yus_name = email
|
|
56
|
+
item = invoice.add :poweruser, "unlimited access", 365, "Tage", 2
|
|
57
|
+
invoice.status = 'completed'
|
|
58
|
+
invoice.save
|
|
59
|
+
id = invoice.id
|
|
60
|
+
|
|
61
|
+
permissions = [
|
|
62
|
+
['login', 'org.oddb.de.PowerUser'], ['view', 'org.oddb.de']
|
|
63
|
+
]
|
|
64
|
+
login email, *permissions
|
|
65
|
+
|
|
66
|
+
open "/de/drugs/collect/invoice/#{id}"
|
|
67
|
+
assert is_text_present('Vielen Dank! Als angemeldeter Benutzer können Sie jetzt ohne Beschränkung Abfragen vornehmen.')
|
|
68
|
+
assert is_text_present('Sie sind bereits angemeldet und können sofort weitersuchen.')
|
|
69
|
+
end
|
|
70
|
+
def test_collect__redirect
|
|
71
|
+
ODDB.config.auth_domain = 'org.oddb.de'
|
|
72
|
+
ODDB.config.query_limit = 1
|
|
73
|
+
package = setup_package
|
|
74
|
+
open "/de/drugs/search/query/Amantadin"
|
|
75
|
+
assert_equal "DE - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
76
|
+
get_title
|
|
77
|
+
open "/de/drugs/search/query/Amantadin"
|
|
78
|
+
assert_equal 'DE - ODDB.org | Medikamente | Open Drug Database',
|
|
79
|
+
get_title
|
|
80
|
+
assert is_text_present("Abfragebeschränkung")
|
|
81
|
+
|
|
82
|
+
email = 'test@invoice.ch'
|
|
83
|
+
invoice = Business::Invoice.new
|
|
84
|
+
invoice.yus_name = email
|
|
85
|
+
item = invoice.add :poweruser, "unlimited access", 365, "Tage", 2
|
|
86
|
+
invoice.status = 'completed'
|
|
87
|
+
invoice.save
|
|
88
|
+
id = invoice.id
|
|
89
|
+
|
|
90
|
+
permissions = [
|
|
91
|
+
['login', 'org.oddb.de.PowerUser'], ['view', 'org.oddb.de']
|
|
92
|
+
]
|
|
93
|
+
login email, *permissions
|
|
94
|
+
|
|
95
|
+
open "/de/drugs/collect/invoice/#{id}"
|
|
96
|
+
assert_equal "DE - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
97
|
+
get_title
|
|
98
|
+
ensure
|
|
99
|
+
ODDB.config.query_limit = 20
|
|
100
|
+
end
|
|
101
|
+
def test_collect__redirect__later
|
|
102
|
+
ODDB.config.auth_domain = 'org.oddb.de'
|
|
103
|
+
ODDB.config.query_limit = 1
|
|
104
|
+
package = setup_package
|
|
105
|
+
open "/de/drugs/search/query/Amantadin"
|
|
106
|
+
assert_equal "DE - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
107
|
+
get_title
|
|
108
|
+
open "/de/drugs/search/query/Amantadin"
|
|
109
|
+
assert_equal 'DE - ODDB.org | Medikamente | Open Drug Database',
|
|
110
|
+
get_title
|
|
111
|
+
assert is_text_present("Abfragebeschränkung")
|
|
112
|
+
|
|
113
|
+
email = 'test@invoice.ch'
|
|
114
|
+
invoice = Business::Invoice.new
|
|
115
|
+
invoice.yus_name = email
|
|
116
|
+
item = invoice.add :poweruser, "unlimited access", 365, "Tage", 2
|
|
117
|
+
invoice.save
|
|
118
|
+
id = invoice.id
|
|
119
|
+
|
|
120
|
+
user = login email, ['login', 'org.oddb.de.PowerUser']
|
|
121
|
+
|
|
122
|
+
open "/de/drugs/collect/invoice/#{id}"
|
|
123
|
+
assert is_text_present('Ihre Bezahlung ist von PayPal noch nicht bestätigt worden. Sobald dies geschieht werden wir Sie per E-Mail benachrichtigen.')
|
|
124
|
+
|
|
125
|
+
invoice.status = 'completed'
|
|
126
|
+
user.permissions.push ['view', 'org.oddb.de']
|
|
127
|
+
|
|
128
|
+
## automatic reload
|
|
129
|
+
wait_for_page_to_load "30000"
|
|
130
|
+
assert_equal "DE - ODDB.org | Medikamente | Suchen | Amantadin | Preisvergleich | Open Drug Database",
|
|
131
|
+
get_title
|
|
132
|
+
ensure
|
|
133
|
+
ODDB.config.query_limit = 20
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
end
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# Selenium::TestCompare -- de.oddb.org -- 15.02.2007 -- 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
|
+
require 'odba/drbwrapper'
|
|
11
|
+
require 'odba'
|
|
12
|
+
|
|
13
|
+
module ODDB
|
|
14
|
+
module Selenium
|
|
15
|
+
class TestCompare < Test::Unit::TestCase
|
|
16
|
+
include Selenium::TestCase
|
|
17
|
+
def setup
|
|
18
|
+
@cache = flexstub(ODBA.cache)
|
|
19
|
+
flexstub(Currency).should_receive(:rate)\
|
|
20
|
+
.with('EUR', 'CHF').and_return(1.5)
|
|
21
|
+
flexstub(Currency).should_receive(:rate)\
|
|
22
|
+
.with('EUR', 'CHF').and_return(1.5)
|
|
23
|
+
currency = flexmock('Currency')
|
|
24
|
+
@currency = DRb.start_service('druby://localhost:0', currency)
|
|
25
|
+
ODDB.config.currency_rates = @currency.uri
|
|
26
|
+
currency.should_receive(:rate).with('EUR', 'CHF').and_return(1.6)
|
|
27
|
+
super
|
|
28
|
+
end
|
|
29
|
+
def setup_package(name, pzn='12345', price=6)
|
|
30
|
+
product = Drugs::Product.new
|
|
31
|
+
company = Business::Company.new
|
|
32
|
+
company.name.de = 'Producer AG'
|
|
33
|
+
product.company = company
|
|
34
|
+
company.save
|
|
35
|
+
sequence = Drugs::Sequence.new
|
|
36
|
+
atc = Drugs::Atc.new('N04BB01')
|
|
37
|
+
atc.name.de = 'Amantadin'
|
|
38
|
+
sequence.atc = atc
|
|
39
|
+
atc.save
|
|
40
|
+
sequence.product = product
|
|
41
|
+
composition = Drugs::Composition.new
|
|
42
|
+
sequence.add_composition(composition)
|
|
43
|
+
substance = Drugs::Substance.new
|
|
44
|
+
substance.name.de = 'Amantadin'
|
|
45
|
+
dose = Drugs::Dose.new(100, 'mg')
|
|
46
|
+
active_agent = Drugs::ActiveAgent.new(substance, dose)
|
|
47
|
+
composition.add_active_agent(active_agent)
|
|
48
|
+
galform = Drugs::GalenicForm.new
|
|
49
|
+
galform.description.de = 'Tropfen'
|
|
50
|
+
galform.group = Drugs::GalenicGroup.new('Tropfen')
|
|
51
|
+
composition.galenic_form = galform
|
|
52
|
+
package = Drugs::Package.new
|
|
53
|
+
code = Util::Code.new(:festbetragsstufe, 3, 'DE')
|
|
54
|
+
package.add_code(code)
|
|
55
|
+
code = Util::Code.new(:zuzahlungsbefreit, true, 'DE')
|
|
56
|
+
package.add_code(code)
|
|
57
|
+
part = Drugs::Part.new
|
|
58
|
+
part.package = package
|
|
59
|
+
part.size = 5
|
|
60
|
+
part.composition = composition
|
|
61
|
+
unit = Drugs::Unit.new
|
|
62
|
+
unit.name.de = 'Ampullen'
|
|
63
|
+
part.unit = unit
|
|
64
|
+
package.name.de = name
|
|
65
|
+
package.sequence = sequence
|
|
66
|
+
package.add_price(Util::Money.new(price, :public, 'DE'))
|
|
67
|
+
package.add_price(Util::Money.new(10, :festbetrag, 'DE'))
|
|
68
|
+
package.add_code(Util::Code.new(:cid, pzn, 'DE'))
|
|
69
|
+
package.save
|
|
70
|
+
package
|
|
71
|
+
end
|
|
72
|
+
def setup_remote_package(name, uid='55555', price=12)
|
|
73
|
+
rpackage = flexmock('Remote Package')
|
|
74
|
+
rpackage.should_receive(:name_base).and_return(name)
|
|
75
|
+
rpackage.should_receive(:price_public).and_return {
|
|
76
|
+
price
|
|
77
|
+
}
|
|
78
|
+
rpackage.should_receive(:comparable_size)\
|
|
79
|
+
.and_return(Drugs::Dose.new(4))
|
|
80
|
+
rpackage.should_receive(:__drbref).and_return(uid)
|
|
81
|
+
rcompany = flexmock('Remote Company')
|
|
82
|
+
rpackage.should_receive(:company).and_return(rcompany)
|
|
83
|
+
rcompany.should_receive(:name).and_return('Producer (Schweiz) AG')
|
|
84
|
+
ratc = flexmock('Remote Atc Class')
|
|
85
|
+
ratc.should_receive(:ddds).and_return []
|
|
86
|
+
rpackage.should_receive(:atc_class).and_return(ratc)
|
|
87
|
+
ratc.should_receive(:code).and_return('N04BB01')
|
|
88
|
+
ratc.should_receive(:de).and_return('Amantadine')
|
|
89
|
+
ragent = flexmock('Remote ActiveAgent')
|
|
90
|
+
rpackage.should_receive(:active_agents).and_return([ragent])
|
|
91
|
+
rsubstance = flexmock('Remote Substance')
|
|
92
|
+
ragent.should_receive(:dose).and_return(Drugs::Dose.new(100, 'mg'))
|
|
93
|
+
ragent.should_receive(:substance).and_return(rsubstance)
|
|
94
|
+
rsubstance.should_receive(:de).and_return('Amantadinum')
|
|
95
|
+
rgalform = flexmock('Remote Galenic Form')
|
|
96
|
+
rpackage.should_receive(:galenic_forms).and_return([rgalform])
|
|
97
|
+
rgalform.should_receive(:de).and_return('Tropfen-Ampullen')
|
|
98
|
+
rgroup = flexmock('Remote Galenic Group')
|
|
99
|
+
rgroup.should_receive(:de).and_return('Tropfen')
|
|
100
|
+
rgalform.should_receive(:galenic_group).and_return(rgroup)
|
|
101
|
+
rpart = flexmock('Remote Part')
|
|
102
|
+
rpart.should_receive(:comparable_size)\
|
|
103
|
+
.and_return(Drugs::Dose.new(4))
|
|
104
|
+
rpart.should_ignore_missing
|
|
105
|
+
rpackage.should_receive(:parts).and_return [rpart]
|
|
106
|
+
@cache.should_receive(:fetch).with(uid.to_i).and_return(rpackage)
|
|
107
|
+
rpackage.should_ignore_missing
|
|
108
|
+
rpackage
|
|
109
|
+
end
|
|
110
|
+
def teardown
|
|
111
|
+
super
|
|
112
|
+
ODDB.config.remote_databases = []
|
|
113
|
+
@currency.stop_service
|
|
114
|
+
end
|
|
115
|
+
def test_init
|
|
116
|
+
package = setup_package("Amantadin by Producer")
|
|
117
|
+
open "/"
|
|
118
|
+
assert_equal "DE - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
119
|
+
type "query", "Amantadin"
|
|
120
|
+
click "//input[@type='submit']"
|
|
121
|
+
wait_for_page_to_load "30000"
|
|
122
|
+
assert_equal "DE - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database",
|
|
123
|
+
get_title
|
|
124
|
+
click 'link=Amantadin by Producer'
|
|
125
|
+
wait_for_page_to_load "30000"
|
|
126
|
+
|
|
127
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | Amantadin by Producer | Open Drug Database", get_title
|
|
128
|
+
assert is_text_present('Amantadin by Producer')
|
|
129
|
+
assert is_text_present('Amantadin 100 mg')
|
|
130
|
+
assert is_text_present('5 Ampullen')
|
|
131
|
+
assert is_text_present('6.00')
|
|
132
|
+
assert is_text_present("In unserer Datenbank wurden leider keine Produkte gefunden, die mit diesem Produkt verglichen werden können.")
|
|
133
|
+
end
|
|
134
|
+
def test_compare
|
|
135
|
+
package1 = setup_package("Amantadin by Producer", '12345', 6)
|
|
136
|
+
package2 = setup_package("By another name", '54321', 3)
|
|
137
|
+
package2.code(:zuzahlungsbefreit).value = false
|
|
138
|
+
flexstub(package1).should_receive(:comparables)\
|
|
139
|
+
.and_return([package2])
|
|
140
|
+
flexstub(package2).should_receive(:comparables)\
|
|
141
|
+
.and_return([package1])
|
|
142
|
+
open "/de/drugs/compare/pzn/12345"
|
|
143
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | Amantadin by Producer | Open Drug Database", get_title
|
|
144
|
+
assert is_text_present('-50.0%')
|
|
145
|
+
assert_equal 'origin zuzahlungsbefreit',
|
|
146
|
+
get_attribute('//tr[2]@class')
|
|
147
|
+
assert_raises(SeleniumCommandError) { get_attribute('//tr[3]@class') }
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
click 'link=By another name'
|
|
151
|
+
wait_for_page_to_load "30000"
|
|
152
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | By another name | Open Drug Database", get_title
|
|
153
|
+
assert is_text_present('+100.0%')
|
|
154
|
+
assert_equal 'origin',
|
|
155
|
+
get_attribute('//tr[2]@class')
|
|
156
|
+
assert_equal 'zuzahlungsbefreit', get_attribute('//tr[3]@class')
|
|
157
|
+
assert is_text_present('Gelb = Zuzahlungsbefreit')
|
|
158
|
+
assert !is_text_present('Rot = CH - Produkte')
|
|
159
|
+
end
|
|
160
|
+
def test_compare__limited
|
|
161
|
+
ODDB.config.query_limit = 1
|
|
162
|
+
package1 = setup_package("Amantadin by Producer", '12345', 6)
|
|
163
|
+
package2 = setup_package("By another name", '54321', 3)
|
|
164
|
+
package2.code(:zuzahlungsbefreit).value = false
|
|
165
|
+
flexstub(package1).should_receive(:comparables)\
|
|
166
|
+
.and_return([package2])
|
|
167
|
+
flexstub(package2).should_receive(:comparables)\
|
|
168
|
+
.and_return([package1])
|
|
169
|
+
open "/de/drugs/compare/pzn/12345"
|
|
170
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | Amantadin by Producer | Open Drug Database", get_title
|
|
171
|
+
assert is_text_present('-50.0%')
|
|
172
|
+
assert_equal 'origin zuzahlungsbefreit',
|
|
173
|
+
get_attribute('//tr[2]@class')
|
|
174
|
+
assert_raises(SeleniumCommandError) { get_attribute('//tr[3]@class') }
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
click 'link=By another name'
|
|
178
|
+
wait_for_page_to_load "30000"
|
|
179
|
+
assert_equal 'DE - ODDB.org | Medikamente | Open Drug Database',
|
|
180
|
+
get_title
|
|
181
|
+
assert is_text_present("Abfragebeschränkung")
|
|
182
|
+
ensure
|
|
183
|
+
ODDB.config.query_limit = 20
|
|
184
|
+
end
|
|
185
|
+
def test_sort
|
|
186
|
+
package1 = setup_package("Amantadin by Producer", '12345', 6)
|
|
187
|
+
package2 = setup_package("By another name", '54321', 6)
|
|
188
|
+
package3 = setup_package("Yet another", '11111', 3)
|
|
189
|
+
flexstub(package1).should_receive(:comparables)\
|
|
190
|
+
.and_return([package2, package3])
|
|
191
|
+
open "/de/drugs/compare/pzn/12345"
|
|
192
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | Amantadin by Producer | Open Drug Database", get_title
|
|
193
|
+
assert_match(/^Yet another/, @selenium.get_text("cid_N04BB01_0"))
|
|
194
|
+
assert_match(/^By another name/, @selenium.get_text("cid_N04BB01_1"))
|
|
195
|
+
|
|
196
|
+
click "//a[@name='th_product']"
|
|
197
|
+
wait_for_page_to_load "30000"
|
|
198
|
+
assert_equal "DE - ODDB.org | Medikamente | Preisvergleich | Amantadin by Producer | Open Drug Database", get_title
|
|
199
|
+
assert_match(/^By another name/, @selenium.get_text("cid_N04BB01_0"))
|
|
200
|
+
assert_match(/^Yet another/, @selenium.get_text("cid_N04BB01_1"))
|
|
201
|
+
end
|
|
202
|
+
def test_remote
|
|
203
|
+
remote = flexmock('Remote')
|
|
204
|
+
DRb.install_id_conv(ODBA::DRbIdConv.new)
|
|
205
|
+
drb = DRb.start_service('druby://localhost:0', remote)
|
|
206
|
+
ODDB.config.remote_databases = [drb.uri]
|
|
207
|
+
|
|
208
|
+
remote.should_receive(:get_currency_rate).with('EUR').and_return 0.6
|
|
209
|
+
rpackage = setup_remote_package('Remotadin', '55555', 12)
|
|
210
|
+
remote.should_receive(:remote_packages).and_return([rpackage])
|
|
211
|
+
|
|
212
|
+
rother = setup_remote_package('Remoteric', '55556', nil)
|
|
213
|
+
rpackage.should_receive(:comparables).and_return([rother])
|
|
214
|
+
|
|
215
|
+
package = setup_package('Amantadin')
|
|
216
|
+
|
|
217
|
+
## switch to mm-flavor
|
|
218
|
+
open "/de/drugs/home/flavor/mm"
|
|
219
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
220
|
+
type "query", "Amantadin"
|
|
221
|
+
click "//input[@type='submit']"
|
|
222
|
+
wait_for_page_to_load "30000"
|
|
223
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database", get_title
|
|
224
|
+
|
|
225
|
+
rother.should_receive(:comparables).and_return([rpackage])
|
|
226
|
+
click "link=Remotadin"
|
|
227
|
+
wait_for_page_to_load "30000"
|
|
228
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Preisvergleich | Remotadin | Open Drug Database",
|
|
229
|
+
get_title
|
|
230
|
+
assert_match(/^Remotadin/, get_text("cid_N04BB01_"))
|
|
231
|
+
assert is_element_present("//a[@id='cid_N04BB01_0']")
|
|
232
|
+
assert_match(/^Amantadin/, get_text("cid_N04BB01_0"))
|
|
233
|
+
assert is_element_present("//a[@id='cid_N04BB01_1']")
|
|
234
|
+
assert_match(/^Remoteric/, get_text("cid_N04BB01_1"))
|
|
235
|
+
assert is_text_present('-39.7%')
|
|
236
|
+
#assert is_text_present('-16.6%')
|
|
237
|
+
|
|
238
|
+
click "link=Remoteric"
|
|
239
|
+
wait_for_page_to_load "30000"
|
|
240
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Preisvergleich | Remoteric | Open Drug Database",
|
|
241
|
+
get_title
|
|
242
|
+
assert_match(/^Remoteric/, get_text("cid_N04BB01_"))
|
|
243
|
+
assert is_element_present("//a[@id='cid_N04BB01_0']")
|
|
244
|
+
assert_match(/^Amantadin/, get_text("cid_N04BB01_0"))
|
|
245
|
+
assert is_element_present("//a[@id='cid_N04BB01_1']")
|
|
246
|
+
assert_match(/^Remotadin/, get_text("cid_N04BB01_1"))
|
|
247
|
+
|
|
248
|
+
assert is_text_present('Gelb = Zuzahlungsbefreit')
|
|
249
|
+
assert is_text_present('Rot = CH - Produkte')
|
|
250
|
+
ensure
|
|
251
|
+
drb.stop_service
|
|
252
|
+
end
|
|
253
|
+
def test_remote__reversed
|
|
254
|
+
remote = flexmock('Remote')
|
|
255
|
+
DRb.install_id_conv(ODBA::DRbIdConv.new)
|
|
256
|
+
drb = DRb.start_service('druby://localhost:0', remote)
|
|
257
|
+
ODDB.config.remote_databases = [drb.uri]
|
|
258
|
+
|
|
259
|
+
remote.should_receive(:get_currency_rate).with('EUR').and_return 0.6
|
|
260
|
+
rpackage = setup_remote_package('Remotadin', '55555', 12)
|
|
261
|
+
remote.should_receive(:remote_packages).and_return([rpackage])
|
|
262
|
+
|
|
263
|
+
rother = setup_remote_package('Remoteric', '55556', nil)
|
|
264
|
+
remote.should_receive(:remote_comparables).with(ODBA::DRbWrapper)\
|
|
265
|
+
.and_return([rpackage, rother])
|
|
266
|
+
|
|
267
|
+
package = setup_package('Amantadin')
|
|
268
|
+
## switch to mm-flavor
|
|
269
|
+
open "/de/drugs/home/flavor/mm"
|
|
270
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Home | Open Drug Database", get_title
|
|
271
|
+
type "query", "Amantadin"
|
|
272
|
+
click "//input[@type='submit']"
|
|
273
|
+
wait_for_page_to_load "30000"
|
|
274
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Suchen | Amantadin | Markenname | Open Drug Database", get_title
|
|
275
|
+
|
|
276
|
+
atc = Drugs::Atc.new('N04BB01')
|
|
277
|
+
|
|
278
|
+
rother.should_receive(:comparables).and_return([rpackage])
|
|
279
|
+
click "link=Amantadin"
|
|
280
|
+
wait_for_page_to_load "30000"
|
|
281
|
+
assert_equal "CH | DE - ODDB.org | Medikamente | Preisvergleich | Amantadin | Open Drug Database",
|
|
282
|
+
get_title
|
|
283
|
+
assert_match(/^Amantadin/, get_text("cid_N04BB01_"))
|
|
284
|
+
assert is_element_present("//a[@id='cid_N04BB01_0']")
|
|
285
|
+
assert_match(/^Remotadin/, get_text("cid_N04BB01_0"))
|
|
286
|
+
assert is_element_present("//a[@id='cid_N04BB01_1']")
|
|
287
|
+
assert_match(/^Remoteric/, get_text("cid_N04BB01_1"))
|
|
288
|
+
assert is_text_present('+65.9%')
|
|
289
|
+
ensure
|
|
290
|
+
drb.stop_service
|
|
291
|
+
end
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
end
|