sandoz.bbmb.ch 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.
- checksums.yaml +7 -0
- data/.gitignore +7 -0
- data/.travis.yml +26 -0
- data/Gemfile +12 -0
- data/History.txt +6 -0
- data/LICENSE +339 -0
- data/Rakefile +21 -0
- data/doc/index.rbx +14 -0
- data/doc/resources/activex/BbmbBarcodeReader.CAB +0 -0
- data/doc/resources/activex/BbmbBarcodeReader2.CAB +0 -0
- data/doc/resources/bbmb.css +301 -0
- data/doc/resources/errors/appdown.html +14 -0
- data/doc/resources/javascript/bcreader.js +131 -0
- data/doc/resources/javascript/order.js +65 -0
- data/doc/resources/javascript/widget/ContentToggler.js +60 -0
- data/doc/resources/javascript/widget/__package__.js +2 -0
- data/doc/resources/javascript/widget/templates/ContentToggler.html +4 -0
- data/doc/resources/logo.png +0 -0
- data/lib/bbmb/html/util/lookandfeel.rb +202 -0
- data/lib/bbmb/sandoz.rb +4 -0
- data/lib/bbmb/sandoz/html/state/viral/customer.rb +25 -0
- data/lib/bbmb/sandoz/version.rb +5 -0
- data/lib/bbmb/util/csv_importer.rb +123 -0
- data/readme.md +28 -0
- data/sandoz.bbmb.ch.gemspec +45 -0
- data/test/rcov +2 -0
- data/test/selenium.rb +1687 -0
- data/test/selenium/selenium-server.jar +0 -0
- data/test/selenium/test_current_order.rb +336 -0
- data/test/selenium/test_customer.rb +363 -0
- data/test/selenium/test_customers.rb +92 -0
- data/test/selenium/test_favorites.rb +257 -0
- data/test/selenium/test_favorites_result.rb +81 -0
- data/test/selenium/test_history.rb +112 -0
- data/test/selenium/test_login.rb +112 -0
- data/test/selenium/test_orders.rb +111 -0
- data/test/selenium/test_result.rb +157 -0
- data/test/selenium/unit.rb +146 -0
- data/test/stub/http_server.rb +140 -0
- data/test/stub/persistence.rb +58 -0
- data/test/suite.rb +15 -0
- data/test/util/data/Artikel.TXT +50 -0
- data/test/util/data/Kunden.TXT +14 -0
- data/test/util/test_csv_importer.rb +136 -0
- metadata +414 -0
@@ -0,0 +1,140 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Stub.http_server -- bbmb.ch -- 21.09.2006 -- hwyss@ywesee.com
|
3
|
+
|
4
|
+
require 'sbsm/request'
|
5
|
+
require 'sbsm/trans_handler'
|
6
|
+
require 'stub/persistence'
|
7
|
+
require 'webrick'
|
8
|
+
|
9
|
+
## compatibility-brainfuck for integrating Apache-SBSM-Requests with WEBrick
|
10
|
+
|
11
|
+
module BBMB
|
12
|
+
module Stub
|
13
|
+
class Notes < Hash
|
14
|
+
alias :add :store
|
15
|
+
end
|
16
|
+
class Output < String
|
17
|
+
alias :write :<<
|
18
|
+
alias :print :<<
|
19
|
+
end
|
20
|
+
class HTTPServer < WEBrick::HTTPServer
|
21
|
+
attr_accessor :document_root, :inject_params
|
22
|
+
def method_missing(method, *args, &block)
|
23
|
+
@logger.warn "ignoring method: #{method}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
def Stub.http_server(drburi, log_level=0)
|
27
|
+
doc = File.expand_path('../../doc', File.dirname(__FILE__))
|
28
|
+
logger = WEBrick::Log.new
|
29
|
+
logger.level = log_level
|
30
|
+
config = { :Host => 'localhost', :Port => 10080,
|
31
|
+
:DocumentRoot => doc, :Logger => logger }
|
32
|
+
if(log_level == 0)
|
33
|
+
config.store(:AccessLog, [])
|
34
|
+
end
|
35
|
+
server = HTTPServer.new(config)
|
36
|
+
server.document_root = doc
|
37
|
+
bbmb = Proc.new { |req, resp|
|
38
|
+
if(req.uri == '/favicon.ico')
|
39
|
+
resp.body = File.open(File.join(doc, req.uri))
|
40
|
+
else
|
41
|
+
ARGV.push('')
|
42
|
+
req.server = server
|
43
|
+
req.uri = CGI.unescape(req.uri)
|
44
|
+
SBSM::TransHandler.instance.translate_uri(req)
|
45
|
+
## not Threadsafe!
|
46
|
+
SBSM::Apache.request = req
|
47
|
+
output = Output.new
|
48
|
+
sbsm = SBSM::Request.new(drburi)
|
49
|
+
sbsm.meta_eval { define_method(:handle_exception) { |e| raise e } }
|
50
|
+
sbsm.cgi.params.update(req.query)
|
51
|
+
if prms = server.inject_params
|
52
|
+
sbsm.cgi.params.update(prms)
|
53
|
+
server.inject_params = nil
|
54
|
+
end
|
55
|
+
sbsm.cgi.env_table['SERVER_NAME'] =
|
56
|
+
BBMB.config.http_server.gsub('http://', '') + ':10080'
|
57
|
+
sbsm.cgi.env_table['REQUEST_METHOD'] = req.request_method
|
58
|
+
req.cookies.each { |cookie|
|
59
|
+
sbsm.cgi.cookies[cookie.name] = cookie.value
|
60
|
+
}
|
61
|
+
# override _session_id
|
62
|
+
sbsm.cgi.cookies['_session_id'] = 'test:preset-session-id'
|
63
|
+
sbsm.cgi.output = output
|
64
|
+
sbsm.process
|
65
|
+
if(/^location:/i.match(output))
|
66
|
+
resp.status = 303
|
67
|
+
end
|
68
|
+
resp.rawdata = true
|
69
|
+
resp.body = output
|
70
|
+
end
|
71
|
+
}
|
72
|
+
server.mount_proc('/', &bbmb)
|
73
|
+
server.mount_proc('/de', &bbmb)
|
74
|
+
server.mount_proc('/de/.*', &bbmb)
|
75
|
+
res = File.join(doc, 'resources')
|
76
|
+
server.mount('/resources', WEBrick::HTTPServlet::FileHandler, res, {})
|
77
|
+
server
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
module WEBrick
|
82
|
+
class HTTPRequest
|
83
|
+
attr_accessor :server, :uri, :notes
|
84
|
+
alias :__old_initialize__ :initialize
|
85
|
+
def initialize(*args)
|
86
|
+
__old_initialize__(*args)
|
87
|
+
@notes = BBMB::Stub::Notes.new
|
88
|
+
end
|
89
|
+
def headers_in
|
90
|
+
headers = {}
|
91
|
+
if(@header)
|
92
|
+
@header.each { |key, vals| headers.store(key, vals.join(';')) }
|
93
|
+
end
|
94
|
+
headers
|
95
|
+
end
|
96
|
+
def uri
|
97
|
+
@uri || unparsed_uri
|
98
|
+
end
|
99
|
+
end
|
100
|
+
class HTTPResponse
|
101
|
+
attr_accessor :rawdata
|
102
|
+
alias :__old_send_header__ :send_header
|
103
|
+
def send_header(socket)
|
104
|
+
if(@rawdata)
|
105
|
+
_write_data(socket, status_line)
|
106
|
+
else
|
107
|
+
__old_send_header__(socket)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
alias :__old_setup_header__ :setup_header
|
111
|
+
def setup_header()
|
112
|
+
unless(@rawdata)
|
113
|
+
__old_setup_header__
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
module SBSM
|
119
|
+
class Request
|
120
|
+
def handle_exception(e)
|
121
|
+
raise e
|
122
|
+
end
|
123
|
+
end
|
124
|
+
module Apache
|
125
|
+
DECLINED = nil
|
126
|
+
def Apache.request=(request)
|
127
|
+
@request = request
|
128
|
+
end
|
129
|
+
def Apache.request
|
130
|
+
@request
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
class CGI
|
135
|
+
attr_accessor :output
|
136
|
+
def stdoutput
|
137
|
+
output
|
138
|
+
end
|
139
|
+
public :env_table
|
140
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Persistence::Test -- bbmb.ch -- 14.09.2006 -- hwyss@ywesee.com
|
3
|
+
|
4
|
+
require 'bbmb/model/customer'
|
5
|
+
require 'bbmb/model/product'
|
6
|
+
require 'bbmb/model/promotion'
|
7
|
+
|
8
|
+
class Object
|
9
|
+
def meta_class; class << self; self; end; end
|
10
|
+
def meta_eval &blk; meta_class.instance_eval &blk; end
|
11
|
+
end
|
12
|
+
module BBMB
|
13
|
+
module Persistable
|
14
|
+
def Persistable.append_features(mod)
|
15
|
+
super
|
16
|
+
mod.module_eval {
|
17
|
+
alias :__test_initialize__ :initialize
|
18
|
+
@instances = []
|
19
|
+
def initialize(*args)
|
20
|
+
__test_initialize__(*args)
|
21
|
+
self.class.instances.push(self)
|
22
|
+
end
|
23
|
+
class << self
|
24
|
+
attr_reader :instances
|
25
|
+
def clear_instances
|
26
|
+
@instances.clear
|
27
|
+
end
|
28
|
+
def index(*keys)
|
29
|
+
index_suffix = keys.join('_and_')
|
30
|
+
method_name = sprintf("find_by_%s", index_suffix)
|
31
|
+
meta_eval {
|
32
|
+
define_method(method_name) { |*vals|
|
33
|
+
@instances.find { |instance|
|
34
|
+
vals == keys.collect { |key| instance.send(key) }
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
module Model
|
44
|
+
class Product
|
45
|
+
include Persistable
|
46
|
+
index :article_number
|
47
|
+
index :ean13
|
48
|
+
index :description
|
49
|
+
index :pcode
|
50
|
+
end
|
51
|
+
class Customer
|
52
|
+
include Persistable
|
53
|
+
index :customer_id
|
54
|
+
index :email
|
55
|
+
index :ean13
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/test/suite.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# suite.rb -- oddb -- 08.09.2006 -- hwyss@ywesee.com
|
3
|
+
|
4
|
+
here = File.expand_path(File.dirname(__FILE__))
|
5
|
+
$: << here
|
6
|
+
|
7
|
+
require 'find'
|
8
|
+
|
9
|
+
Find.find(here) do |file|
|
10
|
+
if /test_.*\.rb$/o.match(file)
|
11
|
+
next if /selenium/i.match(file)
|
12
|
+
require file
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
00510680 RANIMED 300MG 60FCT CH RANIMED 300MG 60FCT CH 7680540570671 1959294 25.25
|
2
|
+
00546829 BILOL 5 mg Filmtbl 30 BILOL 5MG 30FCT CH 7680540300100 2324008 8.29
|
3
|
+
00559059 CIP eco 250 mg Filmtbl 20 CIP ECO 250MG 20FCT CH 7680555250148 2508381 20.00
|
4
|
+
00570868 SIMCORA 20MG 100FCT CH SIMCORA 20MG 100FCT CH 7680560350048 2762470 70.35
|
5
|
+
00578068 TORASIS 5MG 20TAB CH TORASIS 5MG 20TAB CH 7680568730101 2965724 4.20
|
6
|
+
00579584 PRAVASTA ECO 40MG 30TAB CH PRAVASTA ECO 40MG 30TAB CH 7680564540131 2965664 17.34
|
7
|
+
00589894 TERBIFIL 125MF 14 TABL. TERBIFIL 125MF 14 TABL. 0.00
|
8
|
+
00598516 CARVEDILOL Sandoz 25 mg Tbl 100 CARVEDILOL SDZ 25MG 100TAB CH 7680576060092 39.50
|
9
|
+
00601286 CAPTOSOL 25 mg Tbl 100 CAPTOSOL 25MG 100TAB CH 7680529860526 1922138 19.80
|
10
|
+
00610552 OMEPRAZOL Sandoz Eco 40 mg Kps 28 OMEPRAZOL SDZ ECO 40MG 28GRC BO CH 7680572700213 3463427 52.48
|
11
|
+
00611802 DOXORUBICIN Sandoz 100mg/50ml Amp 1 DOXORUBICIN SDZ 100MG/50ML 50ML 1LIVI CH 0.00
|
12
|
+
00622007 FINASTERID Sandoz 5mg Tbl 30 FINASTERID SDZ 5MG 30FCT CH 0.00
|
13
|
+
00965786 OSPEN 750 750000IU/5ML 120ML 1SSP CH OSPEN 750 750000IU/5ML 120ML 1SSP CH 7680370570612 0879943 22.49
|
14
|
+
00990672 GABAPENTIN Sandoz 600mg Filmtbl 100 GABAPENTIN SDZ 600MG 100FCT CH 7680576160037 3515986 68.85
|
15
|
+
44001617 ECOVENT 0.5% 100ML 1LIIN CH ECOVENT 0.5% 100ML 1LIIN CH 7680483170228 1363905 22.50
|
16
|
+
44012102 VENLAFAXINE SDZ 37.5MG 100TAB CH VENLAFAXINE SDZ 37.5MG 100TAB CH 0.00
|
17
|
+
44001100 SIMVASTATIN SDZ 20MG 28FCT CH SIMVASTATIN SDZ 20MG 28FCT CH 7680571770064 2837334 20.01
|
18
|
+
44001101 SIMVASTATIN SDZ 20MG 98FCT CH SIMVASTATIN SDZ 20MG 98FCT CH 7680571770088 2837340 68.67
|
19
|
+
44001102 SIMVASTATIN SDZ 40MG 28FCT CH SIMVASTATIN SDZ 40MG 28FCT CH 7680571770101 2837357 20.01
|
20
|
+
44001103 SIMVASTATIN SDZ 40MG 98FCT CH SIMVASTATIN SDZ 40MG 98FCT CH 7680571770125 2837363 68.67
|
21
|
+
44001104 CYPROTERONACETAT EE Sandoz Drag 21 CYPROTERONACETAT EE SDZ 21FCT CH 7680573320113 2951691 6.12
|
22
|
+
44001105 CYPROTERONACETAT EE Sandoz Drag 3 x 21 CYPROTERONACETAT EE SDZ 63FCT CH 7680573320137 2951716 19.20
|
23
|
+
44001106 DOXYCYCLIN Sandoz 100 mg Kps 8 DOXYCYCLIN SDZ 100MG 8SGC CH 7680452930686 2993353 4.04
|
24
|
+
44001107 DICLOFENAC Sandoz Filmtabl 50 mg 20 Stk DICLOFENAC SDZ 50MG 20FCT CH 7680573760056 2993301 5.07
|
25
|
+
44001108 DICLOFENAC Sandoz Filmtabl 50 mg 100 Stk DICLOFENAC SDZ 50MG 100FCT CH 7680573760070 2993324 19.98
|
26
|
+
44001618 ECOVENT 0.2MG/DOS 200DOS PWDI CH ECOVENT 0.2MG/DOS 200DOS PWDI CH 7680531900227 1913524 14.99
|
27
|
+
44001619 CROMOSOL 20MG/2ML 2ML 20LIIN CH CROMOSOL 20MG/2ML 2ML 20LIIN CH 7680531040107 1680706 7.58
|
28
|
+
44001630 CROMOSOL 20MG/2ML 2ML 50LIIN CH CROMOSOL 20MG/2ML 2ML 50LIIN CH 7680531040299 1680712 18.19
|
29
|
+
44001631 BECECO Easyhaler Plv 0.2 mg 200 Dosis BECECO 0.2MG/DOS 200DOS PWDI CH 7680539500276 2771339 34.67
|
30
|
+
44001632 ACC eco 600 mg Brausetbl 7 ACC ECO 600MG 7EFT CH 7680539850258 1808193 4.52
|
31
|
+
44001633 ACC eco 200 mg Brausetbl 20 ACC ECO 200MG 20EFT CH 7680539850173 1808187 4.31
|
32
|
+
44001634 ACC eco 600 mg Gran Btl 10 ACC ECO 600MG 10POS CH 7680556220010 2315506 6.45
|
33
|
+
44001635 TIMISOL 0.25% 0.4ML 30LDP CH TIMISOL 0.25% 0.4ML 30LDP CH 7680543700167 2092555 9.86
|
34
|
+
44001636 TIMISOL 0.5% 0.4ML 30LDP CH TIMISOL 0.5% 0.4ML 30LDP CH 7680543700242 2092561 11.18
|
35
|
+
44001637 CROMOSOL OPHTA 20MG/0.5ML 0.5ML 20LDP CH CROMOSOL OPHTA 20MG/0.5ML 0.5ML 20LDP CH 7680535340234 1960630 7.18
|
36
|
+
44001638 CROMOSOL OPHTA 20MG/0.5ML 0.5ML 40LDP CH CROMOSOL OPHTA 20MG/0.5ML 0.5ML 40LDP CH 7680535340159 1837243 12.80
|
37
|
+
44002724 ALFUZOSIN Sandoz 10 mg Ret. Tbl 10 ALFUZOSIN SDZ 10MG 10PRT CH 3162915 8.29
|
38
|
+
44002725 ALFUZOSIN Sandoz 10 mg Ret. Tbl 30 ALFUZOSIN SDZ 10MG 30PRT CH 3162921 22.26
|
39
|
+
44012103 VENLAFAXINE SDZ 75MG 30TAB CH VENLAFAXINE SDZ 75MG 30TAB CH 0.00
|
40
|
+
44012104 VENLAFAXINE SDZ 75MG 100TAB CH VENLAFAXINE SDZ 75MG 100TAB CH 0.00
|
41
|
+
00995148 RIMACTAN 150MG 16HGC CH RIMACTAN 150MG 16HGC CH 7680342790123 22.08
|
42
|
+
00995149 RIMACTAN 300MG 8HGC CH RIMACTAN 300MG 8HGC CH 7680342790390 21.00
|
43
|
+
00995150 RIMACTAN 300MG 40HGC CH RIMACTAN 300MG 40HGC CH 7680342790390 97.88
|
44
|
+
00997276 METFORMIN Sandoz Filmtabl 850 mg 100 Stk METFORMIN SDZ 850MG 100FCT CH 7680564970068 2919492 10.99
|
45
|
+
00997277 METFORMIN Sandoz Filmtabl 850 mg 30 Stk METFORMIN SDZ 850MG 30FCT CH 7680564970044 2919486 4.99
|
46
|
+
00997409 CEFUROXIM Sandoz 250mg Filmtbl 14 CEFUROXIM SDZ 250MG 14TAB CH 15.03
|
47
|
+
00997410 CEFUROXIM Sandoz 500mg Filmtbl 14 CEFUROXIM SDZ 500MG 14TAB CH 7680559870106 24.71
|
48
|
+
00997652 FLUCONAZOL Sandoz 150 mg Kps 1 FLUCONAZOL SDZ 150MG 1HGC CH 7680570100053 2970062 7.50
|
49
|
+
00997653 FLUCONAZOL Sandoz 150 mg Kps 4 FLUCONAZOL SDZ 150MG 4HGC CH 7680570100077 2970079 26.40
|
50
|
+
00997654 FLUCONAZOL Sandoz 200 mg Kps 2 FLUCONAZOL SDZ 200MG 2HGC CH 7680570100091 2970085 14.95
|
@@ -0,0 +1,14 @@
|
|
1
|
+
4100603650 7601001024410 Publikums-Apotheke Frau Nelly Schaller Park-Apotheke Hauptstrasse 78 8280 Kreuzlingen 071 672 40 55 071 672 40 50
|
2
|
+
4100603418 7601001367319 Publikums-Apotheke Frau Silvia Hofmann Eulen-Apotheke AG Wallisellenstrasse 333 8050 Z�rich 044 322 34 15 044 322 24 46
|
3
|
+
4100602684 7601001303744 Publikums-Apotheke Herr Dr. Walter Bertschi Park-Apotheke Gutstrasse 162 8055 Z�rich 044 492 70 80 044 491 06 60
|
4
|
+
4100602592 7601001356801 Publikums-Apotheke Herr Dr. Eric Ziegler Nord-Apotheke AG Topwell-Apotheke AG Wehntalerstrasse 537 8046 Z�rich 044 371 06 05 044 371 67 34
|
5
|
+
4100603347 7601001017818 Publikums-Apotheke Frau Damaris Bucher Gallus-Apotheke Oberer Graben 22 9000 St. Gallen 071 222 24 44 071 222 87 80
|
6
|
+
4100602686 7601001007789 Publikums-Apotheke Frau Silvia Gerber Quintilius-Apotheke Grabenstrasse 8184 Bachenb�lach 044 860 29 19 044 860 32 13
|
7
|
+
4100603260 7601001006812 Publikums-Apotheke Herr Dr. Beat Disler Rosen-Apotheke Allschwilerstr. /Rudolfstrasse 4 4054 Basel 061 302 53 53 061 302 16 16
|
8
|
+
4100603248 7601001251595 Publikums-Apotheke Frau Eva Schiller Stern-Apotheke Laufenstrasse 62 4053 Basel 061 331 31 66 061 331 41 13
|
9
|
+
4100602663 7601001022102 Publikums-Apotheke Herr Dr. Rudolf Andres Stadelhofen-Apotheke Goethestrasse 22 8001 Z�rich 044 268 30 00 044 268 30 04
|
10
|
+
4100606346 7601001373549 Publikums-Apotheke Frau Carin Kranendonk Heuried-Apotheke Topwell-Apotheke AG Birmensdorferstrasse 379 8055 Z�rich 044 462 05 77 044 462 05 87
|
11
|
+
4100602675 7601001370265 Publikums-Apotheke Herr Gerald Welbergen Apotheke im Br�hl AG Regensdorferstrasse 18 8049 Z�rich 044 342 42 12 044 342 42 17
|
12
|
+
4100603089 7601001367869 Publikums-Apotheke Frau Elisabeth Simeth Fortuna Apotheke Tittwiesenstrasse 55 7000 Chur 081 284 20 22 081 284 50 25
|
13
|
+
4100602666 7601001365803 Publikums-Apotheke Frau Christiane Kock-Hecht Odeon Apotheke AG Limmatquai 2 8001 Z�rich 044 252 59 59 044 252 59 62
|
14
|
+
4100602680 7601001007062 Publikums-Apotheke Herr & Frau Dr. K. & C. Egloff Olympia-Apotheke Badenerstrasse 6 8004 Z�rich 044 241 36 88 044 241 36 43
|
@@ -0,0 +1,136 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Util::TestCsvImporter -- sandoz.bbmb.ch -- 19.11.2007 -- hwyss@ywesee.com
|
3
|
+
|
4
|
+
$: << File.expand_path('../../lib', File.dirname(__FILE__))
|
5
|
+
$: << File.expand_path('..', File.dirname(__FILE__))
|
6
|
+
|
7
|
+
require "minitest/autorun"
|
8
|
+
require 'flexmock/test_unit'
|
9
|
+
require 'stub/persistence'
|
10
|
+
require 'bbmb/util/csv_importer'
|
11
|
+
|
12
|
+
module BBMB
|
13
|
+
module Util
|
14
|
+
class TestCsvImporter < Minitest::Test
|
15
|
+
include FlexMock::TestCase
|
16
|
+
def test_import
|
17
|
+
src = StringIO.new "\344\366\374"
|
18
|
+
importer = flexmock(CsvImporter.new)
|
19
|
+
importer.should_receive(:import_record).and_return { |record|
|
20
|
+
assert_equal(u("äöü"), record.first)
|
21
|
+
}
|
22
|
+
importer.import(src)
|
23
|
+
end
|
24
|
+
def test_string
|
25
|
+
importer = CsvImporter.new
|
26
|
+
assert_nil(importer.string(''))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
class TestCustomerImporter < Minitest::Test
|
30
|
+
include FlexMock::TestCase
|
31
|
+
def setup
|
32
|
+
Model::Customer.clear_instances
|
33
|
+
BBMB.server = flexmock('server')
|
34
|
+
BBMB.server.should_ignore_missing
|
35
|
+
@dir = File.expand_path('data', File.dirname(__FILE__))
|
36
|
+
end
|
37
|
+
def test_import
|
38
|
+
src = File.open(File.join(@dir, 'Kunden.TXT'))
|
39
|
+
persistence = flexmock("persistence")
|
40
|
+
persistence.should_receive(:save).times(14).and_return { |customer|
|
41
|
+
assert_instance_of(Model::Customer, customer)
|
42
|
+
}
|
43
|
+
CustomerImporter.new.import(src, persistence)
|
44
|
+
end
|
45
|
+
def test_import_record
|
46
|
+
line = StringIO.new <<-EOS
|
47
|
+
4100603650 7601001024410 Publikums-Apotheke Frau Nxxxx Sxxxxxxx Pxxx-Axxxxxxx Hxxxxxxxxxxx XX XXXX Kxxxxxxxxxx 0XX XXX XX 55 0XX XXX XX 50
|
48
|
+
EOS
|
49
|
+
importer = CustomerImporter.new
|
50
|
+
persistence = flexmock("persistence")
|
51
|
+
persistence.should_receive(:save).times(1)\
|
52
|
+
.and_return { |customer|
|
53
|
+
assert_instance_of(Model::Customer, customer)
|
54
|
+
assert_equal("4100603650", customer.customer_id)
|
55
|
+
assert_equal("7601001024410", customer.ean13)
|
56
|
+
assert_equal("Frau", customer.title)
|
57
|
+
assert_equal("Nxxxx", customer.firstname)
|
58
|
+
assert_equal("Sxxxxxxx", customer.lastname)
|
59
|
+
assert_equal("Pxxx-Axxxxxxx", customer.organisation)
|
60
|
+
assert_equal("Hxxxxxxxxxxx XX", customer.address1)
|
61
|
+
assert_equal("XXXX", customer.plz)
|
62
|
+
assert_equal("Kxxxxxxxxxx", customer.city)
|
63
|
+
assert_equal("0XX XXX XX 55", customer.phone_business)
|
64
|
+
assert_equal("0XX XXX XX 50", customer.fax)
|
65
|
+
}
|
66
|
+
importer.import(line, persistence)
|
67
|
+
end
|
68
|
+
def test_import_record__protected
|
69
|
+
line = StringIO.new <<-EOS
|
70
|
+
4100603650 7601001024410 Publikums-Apotheke Frau Nxxxx Sxxxxxxx Pxxx-Axxxxxxx Hxxxxxxxxxxx XX XXXX Kxxxxxxxxxx 0XX XXX XX 55 0XX XXX XX 50
|
71
|
+
EOS
|
72
|
+
customer = Model::Customer.new("4100603650")
|
73
|
+
customer.address1 = 'corrected line'
|
74
|
+
customer.protect!(:address1)
|
75
|
+
importer = CustomerImporter.new
|
76
|
+
persistence = flexmock("persistence")
|
77
|
+
persistence.should_receive(:save).times(1)\
|
78
|
+
.and_return { |customer|
|
79
|
+
assert_instance_of(Model::Customer, customer)
|
80
|
+
assert_equal("4100603650", customer.customer_id)
|
81
|
+
assert_equal("7601001024410", customer.ean13)
|
82
|
+
assert_equal("Frau", customer.title)
|
83
|
+
assert_equal("Nxxxx", customer.firstname)
|
84
|
+
assert_equal("Sxxxxxxx", customer.lastname)
|
85
|
+
assert_equal("Pxxx-Axxxxxxx", customer.organisation)
|
86
|
+
assert_equal("corrected line", customer.address1)
|
87
|
+
assert_equal("XXXX", customer.plz)
|
88
|
+
assert_equal("Kxxxxxxxxxx", customer.city)
|
89
|
+
assert_equal("0XX XXX XX 55", customer.phone_business)
|
90
|
+
assert_equal("0XX XXX XX 50", customer.fax)
|
91
|
+
}
|
92
|
+
importer.import(line, persistence)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
class TestProductImporter < Minitest::Test
|
96
|
+
include FlexMock::TestCase
|
97
|
+
def setup
|
98
|
+
Model::Product.clear_instances
|
99
|
+
@dir = File.expand_path('data', File.dirname(__FILE__))
|
100
|
+
end
|
101
|
+
def test_import
|
102
|
+
src = File.open(File.join(@dir, 'Artikel.TXT'))
|
103
|
+
persistence = flexmock("persistence")
|
104
|
+
persistence.should_receive(:save).times(50).with(Model::Product)
|
105
|
+
persistence.should_receive(:all)
|
106
|
+
ProductImporter.new.import(src, persistence)
|
107
|
+
end
|
108
|
+
def test_import_record
|
109
|
+
existing = Model::Product.new("00510680")
|
110
|
+
line = StringIO.new <<-EOS
|
111
|
+
00546829 BILOL 5 mg Filmtbl 30 BILOL 5MG 30FCT CH 7680540300100 2324008 8.29
|
112
|
+
EOS
|
113
|
+
persistence = flexmock("persistence")
|
114
|
+
persistence.should_receive(:save).and_return { |product|
|
115
|
+
assert_instance_of(Model::Product, product)
|
116
|
+
assert_equal("00546829", product.article_number)
|
117
|
+
assert_equal("BILOL 5 mg Filmtbl 30", product.description.de)
|
118
|
+
assert_equal("BILOL 5MG 30FCT CH", product.description.fr)
|
119
|
+
assert_equal(8.29, product.price)
|
120
|
+
assert_equal("7680540300100", product.ean13)
|
121
|
+
assert_equal("2324008", product.pcode)
|
122
|
+
}
|
123
|
+
persistence.should_receive(:all).and_return { |klass, block|
|
124
|
+
case klass.name
|
125
|
+
when "BBMB::Model::Product"
|
126
|
+
block.call(existing)
|
127
|
+
when "BBMB::Model::Customer"
|
128
|
+
block.call(klass.new('test'))
|
129
|
+
end
|
130
|
+
}
|
131
|
+
persistence.should_receive(:delete).with(existing)
|
132
|
+
ProductImporter.new.import(line, persistence)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
metadata
ADDED
@@ -0,0 +1,414 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sandoz.bbmb.ch
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Masaomi Hatakeyama, Zeno R.R. Davatz, Niklaus Giger
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: odba
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.1.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.1.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ydbd-pg
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.5.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.5.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ydbi
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.5.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.5.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: json
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sbsm
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: htmlgrid
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: ydim
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.5.1
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.5.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: syck
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rmail
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rclconf
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: needle
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: hpricot
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: bbmb
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 2.0.1
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 2.0.1
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: deprecated
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 2.0.1
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 2.0.1
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: yus
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: bundler
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: simplecov
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rake
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: flexmock
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: test-unit
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: minitest
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :development
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ">="
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: rspec
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ">="
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '0'
|
314
|
+
type: :development
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ">="
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '0'
|
321
|
+
description: Sandoz skin for BBMB. A Ruby gem
|
322
|
+
email: mhatakeyama@ywesee.com, zdavatz@ywesee.com, ngiger@ywesee.com
|
323
|
+
executables: []
|
324
|
+
extensions: []
|
325
|
+
extra_rdoc_files: []
|
326
|
+
files:
|
327
|
+
- ".gitignore"
|
328
|
+
- ".travis.yml"
|
329
|
+
- Gemfile
|
330
|
+
- History.txt
|
331
|
+
- LICENSE
|
332
|
+
- Rakefile
|
333
|
+
- doc/index.rbx
|
334
|
+
- doc/resources/activex/BbmbBarcodeReader.CAB
|
335
|
+
- doc/resources/activex/BbmbBarcodeReader2.CAB
|
336
|
+
- doc/resources/bbmb.css
|
337
|
+
- doc/resources/errors/appdown.html
|
338
|
+
- doc/resources/javascript/bcreader.js
|
339
|
+
- doc/resources/javascript/order.js
|
340
|
+
- doc/resources/javascript/widget/ContentToggler.js
|
341
|
+
- doc/resources/javascript/widget/__package__.js
|
342
|
+
- doc/resources/javascript/widget/templates/ContentToggler.html
|
343
|
+
- doc/resources/logo.png
|
344
|
+
- lib/bbmb/html/util/lookandfeel.rb
|
345
|
+
- lib/bbmb/sandoz.rb
|
346
|
+
- lib/bbmb/sandoz/html/state/viral/customer.rb
|
347
|
+
- lib/bbmb/sandoz/version.rb
|
348
|
+
- lib/bbmb/util/csv_importer.rb
|
349
|
+
- readme.md
|
350
|
+
- sandoz.bbmb.ch.gemspec
|
351
|
+
- test/rcov
|
352
|
+
- test/selenium.rb
|
353
|
+
- test/selenium/selenium-server.jar
|
354
|
+
- test/selenium/test_current_order.rb
|
355
|
+
- test/selenium/test_customer.rb
|
356
|
+
- test/selenium/test_customers.rb
|
357
|
+
- test/selenium/test_favorites.rb
|
358
|
+
- test/selenium/test_favorites_result.rb
|
359
|
+
- test/selenium/test_history.rb
|
360
|
+
- test/selenium/test_login.rb
|
361
|
+
- test/selenium/test_orders.rb
|
362
|
+
- test/selenium/test_result.rb
|
363
|
+
- test/selenium/unit.rb
|
364
|
+
- test/stub/http_server.rb
|
365
|
+
- test/stub/persistence.rb
|
366
|
+
- test/suite.rb
|
367
|
+
- test/util/data/Artikel.TXT
|
368
|
+
- test/util/data/Kunden.TXT
|
369
|
+
- test/util/test_csv_importer.rb
|
370
|
+
homepage: https://github.com/zdavatz/sandoz.bbmb.ch
|
371
|
+
licenses:
|
372
|
+
- GPL-v2
|
373
|
+
metadata: {}
|
374
|
+
post_install_message:
|
375
|
+
rdoc_options: []
|
376
|
+
require_paths:
|
377
|
+
- lib
|
378
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
379
|
+
requirements:
|
380
|
+
- - ">="
|
381
|
+
- !ruby/object:Gem::Version
|
382
|
+
version: '0'
|
383
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
384
|
+
requirements:
|
385
|
+
- - ">="
|
386
|
+
- !ruby/object:Gem::Version
|
387
|
+
version: '0'
|
388
|
+
requirements: []
|
389
|
+
rubyforge_project:
|
390
|
+
rubygems_version: 2.4.5
|
391
|
+
signing_key:
|
392
|
+
specification_version: 4
|
393
|
+
summary: Sandoz skin for BBMB
|
394
|
+
test_files:
|
395
|
+
- test/rcov
|
396
|
+
- test/selenium.rb
|
397
|
+
- test/selenium/selenium-server.jar
|
398
|
+
- test/selenium/test_current_order.rb
|
399
|
+
- test/selenium/test_customer.rb
|
400
|
+
- test/selenium/test_customers.rb
|
401
|
+
- test/selenium/test_favorites.rb
|
402
|
+
- test/selenium/test_favorites_result.rb
|
403
|
+
- test/selenium/test_history.rb
|
404
|
+
- test/selenium/test_login.rb
|
405
|
+
- test/selenium/test_orders.rb
|
406
|
+
- test/selenium/test_result.rb
|
407
|
+
- test/selenium/unit.rb
|
408
|
+
- test/stub/http_server.rb
|
409
|
+
- test/stub/persistence.rb
|
410
|
+
- test/suite.rb
|
411
|
+
- test/util/data/Artikel.TXT
|
412
|
+
- test/util/data/Kunden.TXT
|
413
|
+
- test/util/test_csv_importer.rb
|
414
|
+
has_rdoc:
|