elibri_onix_mocks 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/elibri_onix_mocks.rb +1 -0
- data/lib/elibri_onix_mocks/mocks/mock_method_missing.rb +1 -1
- data/lib/elibri_onix_mocks/mocks/product.rb +9 -0
- data/lib/elibri_onix_mocks/mocks/xml_mocks.rb +166 -291
- data/lib/elibri_onix_mocks/version.rb +2 -2
- data/spec/elibri_onix_mocks_spec.rb +9 -9
- metadata +8 -8
data/lib/elibri_onix_mocks.rb
CHANGED
@@ -7,6 +7,7 @@ require 'elibri_onix_generator'
|
|
7
7
|
require 'elibri_onix_mocks/onix_helpers'
|
8
8
|
require "elibri_onix_mocks/version"
|
9
9
|
require 'elibri_onix_mocks/mocks/mock_method_missing'
|
10
|
+
require 'elibri_onix_mocks/mocks/product'
|
10
11
|
require 'elibri_onix_mocks/mocks/xml_mocks'
|
11
12
|
require 'elibri_onix_mocks/generators/xml_generator'
|
12
13
|
require 'elibri_onix_mocks/xml_variant'
|
@@ -29,28 +29,40 @@ module Elibri
|
|
29
29
|
# Dla uproszczenia stub`ujemy większość funkcjonalności:
|
30
30
|
extend Mocha::API
|
31
31
|
|
32
|
+
def defaults
|
33
|
+
{
|
34
|
+
:notification_type => stub('NotificationType', :onix_code => Elibri::ONIX::Dict::Release_3_0::NotificationType::CONFIRMED_ON_PUBLICATION),
|
35
|
+
:publishing_status_onix_code => Elibri::ONIX::Dict::Release_3_0::PublishingStatusCode::ACTIVE,
|
36
|
+
:public? => true,
|
37
|
+
:facsimiles => [],
|
38
|
+
:similar_products => [],
|
39
|
+
:state => "published",
|
40
|
+
:elibri_product_categories => [],
|
41
|
+
:product_availabilities => [],
|
42
|
+
:languages => [],
|
43
|
+
:other_texts => [],
|
44
|
+
:attachments => [],
|
45
|
+
:series_membership_kind => stub('SeriesMemebershipKind', :user_given? => false),
|
46
|
+
:authorship_kind => stub('AuthorshipKind', :user_given? => false, :collective? => false, :no_contributor? => true),
|
47
|
+
}
|
48
|
+
end
|
32
49
|
|
33
50
|
# Najprostszy produkt, dla którego XML się waliduje przez RelaxNG
|
34
51
|
def basic_product(options = {})
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
mock("product") do |product|
|
45
|
-
product.stubs(
|
46
|
-
opt
|
47
|
-
)
|
48
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
52
|
+
attributes = {
|
53
|
+
:title => "Nielegalni",
|
54
|
+
:product_form_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductFormCode::BOOK,
|
55
|
+
:ean => nil,
|
56
|
+
:isbn_value => '9788324799992',
|
57
|
+
:record_reference => "fdb8fa072be774d97a97",
|
58
|
+
}
|
59
|
+
attributes = defaults.merge(attributes).merge(options)
|
60
|
+
stub_everything("basic_product", attributes).extend(OnixHelpers::InstanceMethods)
|
49
61
|
end
|
50
62
|
|
51
63
|
|
52
64
|
def book_example(options = {})
|
53
|
-
|
65
|
+
attributes = {
|
54
66
|
:state => "published",
|
55
67
|
:public? => true,
|
56
68
|
:product_form_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductFormCode::BOOK,
|
@@ -76,12 +88,14 @@ module Elibri
|
|
76
88
|
:number_of_illustrations => 32,
|
77
89
|
:kind_of_book? => true,
|
78
90
|
:kind_of_ebook? => true,
|
91
|
+
:digital? => true,
|
79
92
|
:kind_of_audio? => true,
|
80
93
|
:kind_of_map? => true,
|
81
94
|
:kind_of_measurable? => true,
|
82
95
|
#:map_scale => '20000',
|
83
96
|
:elibri_product_category1_id => 1110,
|
84
97
|
:elibri_product_category2_id => 491,
|
98
|
+
:elibri_product_categories => [],
|
85
99
|
:deletion_text => 'Rekord miał sporo błędów',
|
86
100
|
:sale_restricted? => true,
|
87
101
|
:sale_restricted_for => 'sklep.gildia.pl',
|
@@ -104,7 +118,7 @@ module Elibri
|
|
104
118
|
:updated_at => Date.new(2011, 11, 04).to_time + 10.hours + 5.minutes + 27.seconds
|
105
119
|
).extend(MockMethodMissing)
|
106
120
|
],
|
107
|
-
:
|
121
|
+
:original_title => "Tytuł oryginalny",
|
108
122
|
:trade_title => "Tytuł handlowy",
|
109
123
|
:vat => 5,
|
110
124
|
:pkwiu => "58.11.1",
|
@@ -116,7 +130,7 @@ module Elibri
|
|
116
130
|
:edition_statement => 'wyd. 3, poprawione',
|
117
131
|
:languages => [stub('Language', :language_onix_code => 'pol', :role_onix_code => Elibri::ONIX::Dict::Release_3_0::LanguageRole::LANGUAGE_OF_TEXT)],
|
118
132
|
:other_texts => [
|
119
|
-
|
133
|
+
stub_everything('OtherText',
|
120
134
|
:artificial_id => 137,
|
121
135
|
:type_onix_code => Elibri::ONIX::Dict::Release_3_0::OtherTextType::REVIEW,
|
122
136
|
:text => 'Recenzja książki',
|
@@ -125,7 +139,7 @@ module Elibri
|
|
125
139
|
:exportable? => true,
|
126
140
|
:is_a_review? => true,
|
127
141
|
:resource_link => 'http://example'
|
128
|
-
)
|
142
|
+
)
|
129
143
|
],
|
130
144
|
:series_membership_kind => stub('series_membership_kind', :user_given? => true),
|
131
145
|
:series_memberships => [
|
@@ -174,16 +188,13 @@ module Elibri
|
|
174
188
|
:price_infos => [ stub('PriceInfo', :minimum_order_quantity => 10, :amount => 14.99, :vat => 7, :currency_code => 'PLN') ]
|
175
189
|
).extend(MockMethodMissing)
|
176
190
|
]
|
177
|
-
}
|
178
|
-
|
179
|
-
|
180
|
-
opt
|
181
|
-
)
|
182
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
191
|
+
}
|
192
|
+
attributes = defaults.merge(attributes).merge(options)
|
193
|
+
stub_everything("book_example", attributes).extend(OnixHelpers::InstanceMethods)
|
183
194
|
end
|
184
195
|
|
185
196
|
def onix_record_identifiers_example(options = {})
|
186
|
-
|
197
|
+
attributes = {
|
187
198
|
:state => "published",
|
188
199
|
:title => "Nielegalni",
|
189
200
|
:product_form_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductFormCode::BOOK,
|
@@ -200,17 +211,14 @@ module Elibri
|
|
200
211
|
:nip => "527-22-62-432", :phone => "22 721 70 07", :email => "", :website => "www.olesiejuk.pl"),
|
201
212
|
:supplier_role_onix_code => Elibri::ONIX::Dict::Release_3_0::SupplierRole::WHOLESALER).extend(MockMethodMissing)
|
202
213
|
]
|
203
|
-
}
|
204
|
-
|
205
|
-
|
206
|
-
opt
|
207
|
-
)
|
208
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
214
|
+
}
|
215
|
+
attributes = defaults.merge(attributes).merge(options)
|
216
|
+
stub_everything("onix_record_identifiers_example", attributes).extend(OnixHelpers::InstanceMethods)
|
209
217
|
end
|
210
218
|
|
211
219
|
|
212
220
|
def onix_product_form_example(options = {})
|
213
|
-
|
221
|
+
attributes = {
|
214
222
|
:title => "Nielegalni",
|
215
223
|
:ean => nil,
|
216
224
|
:isbn_value => '9788324799992',
|
@@ -220,17 +228,14 @@ module Elibri
|
|
220
228
|
:state => "published",
|
221
229
|
:public? => true,
|
222
230
|
:product_availabilities => []
|
223
|
-
}
|
224
|
-
|
225
|
-
|
226
|
-
opt
|
227
|
-
)
|
228
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
231
|
+
}
|
232
|
+
attributes = defaults.merge(attributes).merge(options)
|
233
|
+
stub_everything("onix_product_form_example", attributes).extend(OnixHelpers::InstanceMethods)
|
229
234
|
end
|
230
235
|
|
231
236
|
|
232
237
|
def onix_epub_details_example(options = {})
|
233
|
-
|
238
|
+
attributes = {
|
234
239
|
:title => "Nielegalni",
|
235
240
|
:ean => nil,
|
236
241
|
:isbn_value => '9788324799992',
|
@@ -241,31 +246,25 @@ module Elibri
|
|
241
246
|
:state => "published",
|
242
247
|
:public? => true,
|
243
248
|
:product_availabilities => []
|
244
|
-
}
|
245
|
-
|
246
|
-
|
247
|
-
opt
|
248
|
-
)
|
249
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
249
|
+
}
|
250
|
+
attributes = defaults.merge(attributes).merge(options)
|
251
|
+
stub_everything("onix_epub_details_example", attributes).extend(OnixHelpers::InstanceMethods)
|
250
252
|
end
|
251
253
|
|
252
254
|
def onix_languages_example(options = {})
|
253
|
-
|
255
|
+
attributes = {
|
254
256
|
:languages => [
|
255
257
|
stub('Language', :language_onix_code => 'pol', :role_onix_code => Elibri::ONIX::Dict::Release_3_0::LanguageRole::LANGUAGE_OF_TEXT),
|
256
258
|
stub('Language', :language_onix_code => 'eng', :role_onix_code => Elibri::ONIX::Dict::Release_3_0::LanguageRole::LANGUAGE_OF_ABSTRACTS)
|
257
259
|
]
|
258
|
-
}
|
259
|
-
|
260
|
-
|
261
|
-
opt
|
262
|
-
)
|
263
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
260
|
+
}
|
261
|
+
attributes = defaults.merge(attributes).merge(options)
|
262
|
+
stub_everything("onix_languages_example", attributes).extend(OnixHelpers::InstanceMethods)
|
264
263
|
end
|
265
264
|
|
266
265
|
|
267
266
|
def onix_measurement_example(options = {})
|
268
|
-
|
267
|
+
attributes = {
|
269
268
|
:title => "Katowice, mapa",
|
270
269
|
:ean => nil,
|
271
270
|
:isbn_value => '9788324799992',
|
@@ -278,17 +277,14 @@ module Elibri
|
|
278
277
|
:map_scale => 50_000,
|
279
278
|
:state => "published",
|
280
279
|
:public? => true
|
281
|
-
}
|
282
|
-
|
283
|
-
|
284
|
-
opt
|
285
|
-
)
|
286
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
280
|
+
}
|
281
|
+
attributes = defaults.merge(attributes).merge(options)
|
282
|
+
stub_everything("onix_measurement_example", attributes).extend(OnixHelpers::InstanceMethods)
|
287
283
|
end
|
288
284
|
|
289
285
|
|
290
286
|
def onix_sale_restrictions_example(options = {})
|
291
|
-
|
287
|
+
attributes = {
|
292
288
|
:sale_restricted? => true,
|
293
289
|
:sale_restricted_for => 'Empik',
|
294
290
|
:sale_restricted_to => Date.new(2012, 7, 22),
|
@@ -296,38 +292,26 @@ module Elibri
|
|
296
292
|
:publication_month => 7,
|
297
293
|
:publication_day => 12
|
298
294
|
}.merge(options)
|
299
|
-
basic_product
|
300
|
-
product.stubs(
|
301
|
-
opt
|
302
|
-
)
|
303
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
295
|
+
basic_product(attributes)
|
304
296
|
end
|
305
297
|
|
306
298
|
|
307
299
|
def onix_audience_range_example(options = {})
|
308
|
-
|
300
|
+
attributes = {
|
309
301
|
:audience_age_from => 7,
|
310
302
|
:audience_age_to => 10
|
311
303
|
}.merge(options)
|
312
|
-
basic_product
|
313
|
-
product.stubs(
|
314
|
-
opt
|
315
|
-
)
|
316
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
304
|
+
basic_product(attributes)
|
317
305
|
end
|
318
306
|
|
319
307
|
|
320
308
|
def onix_publisher_info_example(options = {})
|
321
|
-
|
309
|
+
attributes = {
|
322
310
|
:publisher_name => 'G+J Gruner+Jahr Polska',
|
323
311
|
:publisher_id => 14,
|
324
312
|
:imprint => stub('Imprint', :name => 'National Geographic')
|
325
313
|
}.merge(options)
|
326
|
-
basic_product
|
327
|
-
product.stubs(
|
328
|
-
opt
|
329
|
-
)
|
330
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
314
|
+
basic_product(attributes)
|
331
315
|
end
|
332
316
|
|
333
317
|
|
@@ -340,206 +324,154 @@ module Elibri
|
|
340
324
|
categories << stub('ElibriProductCategory', :id => category1_id, :full_node_path_name => "Kategoria #{category1_id}") if category1_id
|
341
325
|
categories << stub('ElibriProductCategory', :id => category2_id, :full_node_path_name => "Kategoria #{category2_id}") if category2_id
|
342
326
|
|
343
|
-
|
327
|
+
attributes = {
|
344
328
|
:elibri_product_category1_id => category1_id,
|
345
329
|
:elibri_product_category2_id => category2_id,
|
346
330
|
:elibri_product_categories => categories
|
347
331
|
}.merge(options)
|
348
|
-
basic_product
|
349
|
-
product.stubs(
|
350
|
-
opt
|
351
|
-
)
|
352
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
332
|
+
basic_product(attributes)
|
353
333
|
end
|
354
334
|
|
355
335
|
|
356
336
|
def onix_edition_example(options = {})
|
357
|
-
|
337
|
+
attributes = {
|
358
338
|
:edition_statement => 'wyd. 3, poprawione'
|
359
339
|
}.merge(options)
|
360
|
-
basic_product
|
361
|
-
product.stubs(
|
362
|
-
opt
|
363
|
-
)
|
364
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
340
|
+
basic_product(attributes)
|
365
341
|
end
|
366
342
|
|
367
343
|
|
368
344
|
def onix_ebook_extent_example(options = {})
|
369
|
-
|
345
|
+
attributes = {
|
370
346
|
:example_title => 'E-book (rozmiar pliku, ilość stron i obrazków)',
|
371
347
|
:product_form_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductFormCode::EBOOK,
|
372
348
|
:file_size => 1.22,
|
373
349
|
:number_of_pages => 150,
|
374
350
|
:number_of_illustrations => 12
|
375
351
|
}.merge(options)
|
376
|
-
basic_product
|
377
|
-
product.stubs(
|
378
|
-
opt
|
379
|
-
)
|
380
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
352
|
+
basic_product(attributes)
|
381
353
|
end
|
382
354
|
|
383
355
|
def onix_audiobook_extent_example(options = {})
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
product.stubs(
|
391
|
-
opt
|
392
|
-
)
|
393
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
356
|
+
attributes = {
|
357
|
+
:example_title => 'Audio CD z długością ścieżki',
|
358
|
+
:product_form_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductFormCode::AUDIO_CD,
|
359
|
+
:duration => 340
|
360
|
+
}.merge(options)
|
361
|
+
basic_product(attributes)
|
394
362
|
end
|
395
363
|
|
396
364
|
def onix_no_contributors_example(options = {})
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
product.stubs(
|
403
|
-
opt
|
404
|
-
)
|
405
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
365
|
+
attributes = {
|
366
|
+
:example_title => 'Brak autorów',
|
367
|
+
:authorship_kind => ActiveSupport::StringInquirer.new("no_contributor")
|
368
|
+
}.merge(options)
|
369
|
+
basic_product(attributes)
|
406
370
|
end
|
407
371
|
|
408
372
|
def onix_collective_work_example(options = {})
|
409
|
-
|
373
|
+
attributes = {
|
410
374
|
:example_title => 'Praca zbiorowa',
|
411
375
|
:authorship_kind => ActiveSupport::StringInquirer.new("collective")
|
412
376
|
}.merge(options)
|
413
|
-
|
414
|
-
product.stubs(
|
415
|
-
opt
|
416
|
-
)
|
417
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
377
|
+
basic_product(attributes)
|
418
378
|
end
|
419
379
|
|
420
380
|
def onix_contributors_example(options = {})
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
product.stubs(
|
449
|
-
opt
|
450
|
-
)
|
451
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
381
|
+
attributes = {
|
382
|
+
:example_title => 'Wyszczególnieni autorzy',
|
383
|
+
:title => "Taka jest nasza wiara",
|
384
|
+
:authorship_kind => ActiveSupport::StringInquirer.new("user_given"),
|
385
|
+
:contributors => [
|
386
|
+
stub('Contributor',
|
387
|
+
:artificial_id => 255,
|
388
|
+
:role_onix_code => Elibri::ONIX::Dict::Release_3_0::ContributorRole::AUTHOR,
|
389
|
+
:missing_parts => true,
|
390
|
+
:full_name => 'Św. Tomasz z Akwinu',
|
391
|
+
:biography => stub('OtherText', :text => 'Tomasz z Akwinu, Akwinata, łac. Thoma de Aquino (ur. 1225, zm. 7 marca 1274) – filozof scholastyczny, teolog, członek zakonu dominikanów. Był jednym z najwybitniejszych myślicieli w dziejach chrześcijaństwa. Święty Kościoła katolickiego, jeden z doktorów Kościoła, który nauczając przekazywał owoce swej kontemplacji (łac. contemplata aliis tradere).'),
|
392
|
+
:updated_at => Date.new(2011, 11, 04).to_time + 10.hours + 5.minutes + 27.seconds
|
393
|
+
).extend(MockMethodMissing),
|
394
|
+
stub('Contributor',
|
395
|
+
:artificial_id => 256,
|
396
|
+
:role_onix_code => Elibri::ONIX::Dict::Release_3_0::ContributorRole::TRANSLATOR,
|
397
|
+
:language_onix_code => 'lat',
|
398
|
+
:title => 'prof. ks.',
|
399
|
+
:name => 'Henryk',
|
400
|
+
:last_name_prefix => 'von',
|
401
|
+
:last_name => 'Hausswolff',
|
402
|
+
:last_name_postfix => 'OP',
|
403
|
+
:updated_at => Date.new(2011, 11, 04).to_time + 10.hours + 5.minutes + 27.seconds
|
404
|
+
).extend(MockMethodMissing)
|
405
|
+
]
|
406
|
+
}.merge(options)
|
407
|
+
basic_product(attributes)
|
452
408
|
end
|
453
409
|
|
454
410
|
def onix_announced_product_example(options = {})
|
455
|
-
|
411
|
+
attributes = {
|
456
412
|
:state => :announced,
|
457
413
|
:publisher_symbol => "Światu nie mamy czego zazdrościć.",
|
458
|
-
:
|
414
|
+
:original_title => "Nothing to Envy: Ordinary Lives in North Korea",
|
459
415
|
:collection_part => '33',
|
460
416
|
:title => 'Światu nie mamy czego zazdrościć.',
|
461
417
|
:subtitle => "Zwyczajne losy mieszkańców Korei Północnej.",
|
462
418
|
:publication_year => 2011
|
463
419
|
}.merge(options)
|
464
|
-
basic_product
|
465
|
-
product.stubs(
|
466
|
-
opt
|
467
|
-
)
|
468
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
420
|
+
basic_product(attributes)
|
469
421
|
end
|
470
422
|
|
471
423
|
def onix_preorder_product_example(options = {})
|
472
|
-
|
424
|
+
attributes = {
|
473
425
|
:state => :preorder,
|
474
426
|
:publication_year => 2011,
|
475
427
|
:publication_month => 2,
|
476
428
|
:publication_day => 10
|
477
429
|
}.merge(options)
|
478
|
-
basic_product
|
479
|
-
product.stubs(
|
480
|
-
opt
|
481
|
-
)
|
482
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
430
|
+
basic_product(attributes)
|
483
431
|
end
|
484
432
|
|
485
433
|
def onix_published_product_example(options = {})
|
486
|
-
|
434
|
+
attributes = {
|
487
435
|
:state => :published,
|
488
436
|
:publication_year => 2011,
|
489
437
|
:publication_month => 2
|
490
438
|
}.merge(options)
|
491
|
-
basic_product
|
492
|
-
product.stubs(
|
493
|
-
opt
|
494
|
-
)
|
495
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
439
|
+
basic_product(attributes)
|
496
440
|
end
|
497
441
|
|
498
442
|
def onix_out_of_print_product_example(options = {})
|
499
|
-
|
443
|
+
attributes = {
|
500
444
|
:state => :out_of_print
|
501
445
|
}.merge(options)
|
502
|
-
basic_product
|
503
|
-
product.stubs(
|
504
|
-
opt
|
505
|
-
)
|
506
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
446
|
+
basic_product(attributes)
|
507
447
|
end
|
508
448
|
|
509
449
|
def onix_titles_example(options = {})
|
510
|
-
|
450
|
+
attributes = {
|
511
451
|
:publisher_symbol => "Światu nie mamy czego zazdrościć.",
|
512
|
-
:
|
452
|
+
:original_title => "Nothing to Envy: Ordinary Lives in North Korea",
|
513
453
|
:collection_part => '33',
|
514
454
|
:title => 'Światu nie mamy czego zazdrościć.',
|
515
455
|
:subtitle => "Zwyczajne losy mieszkańców Korei Północnej."
|
516
456
|
}.merge(options)
|
517
|
-
basic_product
|
518
|
-
product.stubs(
|
519
|
-
opt
|
520
|
-
)
|
521
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
457
|
+
basic_product(attributes)
|
522
458
|
end
|
523
459
|
|
524
460
|
def onix_title_with_collection_example(options = {})
|
525
|
-
|
461
|
+
attributes = {
|
526
462
|
:publisher_symbol => "Thorgal 33 Statek-Miecz TWARDA",
|
527
|
-
:
|
463
|
+
:original_title => "Thorgal: Le Bateau-Sabre",
|
528
464
|
:collection_part => '33',
|
529
465
|
:title => 'Statek-Miecz',
|
530
466
|
:collection => stub('PublisherCollection', :name => 'Thorgal')
|
531
467
|
}.merge(options)
|
532
|
-
basic_product
|
533
|
-
product.stubs(
|
534
|
-
opt
|
535
|
-
)
|
536
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
468
|
+
basic_product(attributes)
|
537
469
|
end
|
538
470
|
|
539
471
|
|
540
472
|
|
541
473
|
def onix_texts_example(options = {})
|
542
|
-
|
474
|
+
attributes = {
|
543
475
|
:other_texts => [
|
544
476
|
stub('OtherText',
|
545
477
|
:artificial_id => 133,
|
@@ -571,29 +503,21 @@ module Elibri
|
|
571
503
|
).extend(MockMethodMissing),
|
572
504
|
]
|
573
505
|
}.merge(options)
|
574
|
-
basic_product
|
575
|
-
product.stubs(
|
576
|
-
opt
|
577
|
-
)
|
578
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
506
|
+
basic_product(attributes)
|
579
507
|
end
|
580
508
|
|
581
509
|
|
582
510
|
def onix_related_products_example(options = {})
|
583
|
-
|
511
|
+
attributes = {
|
584
512
|
:facsimiles => [stub('Product', :publisher_name => 'PWN', :publisher_id => 12, :publisher_symbol => 'Tytuł dodruku', :isbn_value => '9788324705818', :record_reference => 'abcdefghijk')],
|
585
513
|
:similar_products => [stub('Product', :publisher_name => 'WNT', :publisher_id => 13, :publisher_symbol => 'Tytuł podobnej książki', :isbn_value => '9788324799992', :record_reference => 'kjihgfedcba')]
|
586
514
|
}.merge(options)
|
587
|
-
basic_product
|
588
|
-
product.stubs(
|
589
|
-
opt
|
590
|
-
)
|
591
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
515
|
+
basic_product(attributes)
|
592
516
|
end
|
593
517
|
|
594
518
|
|
595
519
|
def onix_supply_details_example(options = {})
|
596
|
-
|
520
|
+
attributes = {
|
597
521
|
:product_availabilities => [
|
598
522
|
stub('ProductAvailability',
|
599
523
|
:supplier_identifier => 'GILD-123',
|
@@ -626,32 +550,24 @@ module Elibri
|
|
626
550
|
)
|
627
551
|
]
|
628
552
|
}.merge(options)
|
629
|
-
basic_product
|
630
|
-
product.stubs(
|
631
|
-
opt
|
632
|
-
)
|
633
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
553
|
+
basic_product(attributes)
|
634
554
|
end
|
635
555
|
|
636
556
|
|
637
557
|
def onix_series_memberships_example(options = {})
|
638
|
-
|
558
|
+
attributes = {
|
639
559
|
:series_membership_kind => stub('series_membership_kind', :user_given? => true),
|
640
560
|
:series_memberships => [
|
641
561
|
stub('SeriesMembership', :series_name => 'Lektury szkolne', :number_within_series => '2'),
|
642
562
|
stub('SeriesMembership', :series_name => 'Dla Bystrzaków', :number_within_series => '1')
|
643
563
|
]
|
644
564
|
}.merge(options)
|
645
|
-
basic_product
|
646
|
-
product.stubs(
|
647
|
-
opt
|
648
|
-
)
|
649
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
565
|
+
basic_product(attributes)
|
650
566
|
end
|
651
567
|
|
652
568
|
|
653
569
|
def onix_supporting_resources_example(options = {})
|
654
|
-
|
570
|
+
attributes = {
|
655
571
|
:attachments => [
|
656
572
|
stub('ProductAttachment',
|
657
573
|
:id => 667,
|
@@ -671,32 +587,24 @@ module Elibri
|
|
671
587
|
)
|
672
588
|
]
|
673
589
|
}.merge(options)
|
674
|
-
basic_product
|
675
|
-
product.stubs(
|
676
|
-
opt
|
677
|
-
)
|
678
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
590
|
+
basic_product(attributes)
|
679
591
|
end
|
680
592
|
|
681
593
|
|
682
594
|
def onix_elibri_extensions_example(options = {})
|
683
|
-
|
595
|
+
attributes = {
|
684
596
|
:cover_type_id => Elibri::XmlMocks::PAPERBACK,
|
685
597
|
:vat => 5,
|
686
598
|
:pkwiu => "58.11.1",
|
687
599
|
:price_amount => 12.99,
|
688
600
|
:preview_exists? => true
|
689
601
|
}.merge(options)
|
690
|
-
basic_product
|
691
|
-
product.stubs(
|
692
|
-
opt
|
693
|
-
)
|
694
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
602
|
+
basic_product(attributes)
|
695
603
|
end
|
696
604
|
|
697
605
|
|
698
606
|
def contributor_mock(options = {})
|
699
|
-
|
607
|
+
attributes = {
|
700
608
|
:artificial_id => 240,
|
701
609
|
:role_onix_code => Elibri::ONIX::Dict::Release_3_0::ContributorRole::AUTHOR,
|
702
610
|
:language_onix_code => 'pol',
|
@@ -708,15 +616,11 @@ module Elibri
|
|
708
616
|
:biography => stub('OtherText', :text => 'Biografia Sienkiewicza', :exportable? => true, :is_a_review? => false, :resource_link => 'http://example').extend(MockMethodMissing),
|
709
617
|
:updated_at => Date.new(2011, 11, 04).to_time + 10.hours + 5.minutes + 27.seconds
|
710
618
|
}.merge(options)
|
711
|
-
|
712
|
-
contributor.stubs(
|
713
|
-
opt
|
714
|
-
)
|
715
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
619
|
+
stub_everything('Contributor', attributes)
|
716
620
|
end
|
717
621
|
|
718
622
|
def review_mock(options = {})
|
719
|
-
|
623
|
+
attributes = {
|
720
624
|
:artificial_id => 137,
|
721
625
|
:type_onix_code => Elibri::ONIX::Dict::Release_3_0::OtherTextType::REVIEW,
|
722
626
|
:text => 'Recenzja książki',
|
@@ -726,71 +630,55 @@ module Elibri
|
|
726
630
|
:is_a_review? => true,
|
727
631
|
:resource_link => 'http://example'
|
728
632
|
}.merge(options)
|
729
|
-
|
730
|
-
other_text.stubs(
|
731
|
-
opt
|
732
|
-
)
|
733
|
-
end.extend(MockMethodMissing)
|
633
|
+
stub_everything('OtherText', attributes)
|
734
634
|
end
|
735
635
|
|
736
636
|
def supply_detail_mock(options = {})
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
mock('ProductAvailability').tap do |aval|
|
753
|
-
aval.stubs(
|
754
|
-
opt
|
755
|
-
)
|
756
|
-
end.extend(MockMethodMissing)
|
637
|
+
attributes = {
|
638
|
+
:supplier_identifier => 'GILD-123',
|
639
|
+
:supplier_role_onix_code => Elibri::ONIX::Dict::Release_3_0::SupplierRole::PUB_NON_EXL_DIST,
|
640
|
+
:product_availability_onix_code => Elibri::ONIX::Dict::Release_3_0::ProductAvailabilityType::IN_STOCK,
|
641
|
+
:supplier => stub('Supplier',
|
642
|
+
:name => 'Gildia.pl',
|
643
|
+
:nip => '521-33-59-408',
|
644
|
+
:phone => '22 631 40 83',
|
645
|
+
:email => 'bok@gildia.pl',
|
646
|
+
:website => 'http://gildia.pl'
|
647
|
+
),
|
648
|
+
:stock_info => stub('stock_info', :exact_info? => true, :on_hand => '1000'),
|
649
|
+
:price_infos => [ stub('PriceInfo', :minimum_order_quantity => 20, :amount => 12.99, :vat => 7, :currency_code => 'PLN') ]
|
650
|
+
}.merge(options)
|
651
|
+
stub_everything('ProductAvailability', attributes)
|
757
652
|
end
|
758
653
|
|
759
654
|
def imprint_mock(options = {})
|
760
|
-
|
655
|
+
attributes =
|
761
656
|
{
|
762
657
|
:name => 'National Geographic'
|
763
658
|
}.merge(options)
|
764
|
-
|
765
|
-
|
766
|
-
opt
|
767
|
-
)
|
768
|
-
end.extend(MockMethodMissing)
|
659
|
+
|
660
|
+
stub_everything('Imprint', attributes)
|
769
661
|
end
|
770
662
|
|
771
663
|
def collection_mock(options = {})
|
772
|
-
|
664
|
+
attributes =
|
773
665
|
{
|
774
666
|
:name => 'Nazwa kolekcji'
|
775
667
|
}.merge(options)
|
776
|
-
|
777
|
-
coll.stubs(
|
778
|
-
opt
|
779
|
-
)
|
780
|
-
end.extend(MockMethodMissing)
|
668
|
+
stub_everything('PublisherCollection', attributes)
|
781
669
|
end
|
782
670
|
|
783
671
|
def authorship_kind_mock(options = {})
|
784
|
-
|
672
|
+
attributes = {
|
785
673
|
:user_given? => true,
|
786
674
|
:collective? => false,
|
787
675
|
:no_contributor? => false
|
788
676
|
}.merge(options)
|
789
|
-
stub('AuthorshipKind',
|
677
|
+
stub('AuthorshipKind', attributes)
|
790
678
|
end
|
791
679
|
|
792
680
|
def description_mock(options = {})
|
793
|
-
|
681
|
+
attributes =
|
794
682
|
{
|
795
683
|
:artificial_id => 137,
|
796
684
|
:type_onix_code => Elibri::ONIX::Dict::Release_3_0::OtherTextType::MAIN_DESCRIPTION,
|
@@ -801,16 +689,11 @@ module Elibri
|
|
801
689
|
:is_a_review? => false,
|
802
690
|
:resource_link => 'http://example'
|
803
691
|
}.merge(options)
|
804
|
-
|
805
|
-
descr.stubs(
|
806
|
-
opt
|
807
|
-
)
|
808
|
-
end.extend(MockMethodMissing)
|
692
|
+
stub_everything('OtherText', attributes)
|
809
693
|
end
|
810
694
|
|
811
695
|
def product_attachment_mock(options = {})
|
812
|
-
|
813
|
-
{
|
696
|
+
attributes = {
|
814
697
|
:id => 668,
|
815
698
|
:attachment_type_code => Elibri::ONIX::Dict::Release_3_0::ResourceContentType::FRONT_COVER,
|
816
699
|
:file_content_type => 'image/png',
|
@@ -818,22 +701,14 @@ module Elibri
|
|
818
701
|
:file => paperclip_attachment_mock,
|
819
702
|
:updated_at => Date.new(2011, 12, 01).to_time + 19.hours + 5.minutes + 28.seconds
|
820
703
|
}.merge(options)
|
821
|
-
|
822
|
-
att.stubs(
|
823
|
-
opt
|
824
|
-
)
|
825
|
-
end.extend(MockMethodMissing)
|
704
|
+
stub_everything('ProductAttachment', attributes)
|
826
705
|
end
|
827
706
|
|
828
707
|
def paperclip_attachment_mock(options = {})
|
829
|
-
|
708
|
+
attributes = {
|
830
709
|
:url => 'http://elibri.com.pl/sciezka/do/pliku.png'
|
831
710
|
}.merge(options)
|
832
|
-
|
833
|
-
paperclip.stubs(
|
834
|
-
opt
|
835
|
-
)
|
836
|
-
end.extend(MockMethodMissing)
|
711
|
+
stub_everything('Paperclip::Attachment', attributes)
|
837
712
|
end
|
838
713
|
|
839
714
|
def product_with_similars_mock(options = {})
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module ElibriOnixMocks
|
2
|
-
VERSION = "0.1.
|
3
|
-
end
|
2
|
+
VERSION = "0.1.7"
|
3
|
+
end
|
@@ -22,9 +22,10 @@ describe Elibri::XmlMocks::Examples do
|
|
22
22
|
].each do |symbol|
|
23
23
|
|
24
24
|
it "should create #{symbol} xml and parse it properly" do
|
25
|
-
Elibri::XmlMocks::Examples.send(symbol, {})
|
26
|
-
|
27
|
-
Elibri::ONIX::
|
25
|
+
product_example = Elibri::XmlMocks::Examples.send(symbol, {})
|
26
|
+
product_example.should_not be_nil
|
27
|
+
Elibri::ONIX::XMLGenerator.new(product_example).should_not be_nil
|
28
|
+
Elibri::ONIX::Release_3_0::ONIXMessage.from_xml(Elibri::ONIX::XMLGenerator.new(product_example).to_s)
|
28
29
|
end
|
29
30
|
|
30
31
|
end
|
@@ -41,7 +42,6 @@ describe Elibri::XmlMocks::Examples do
|
|
41
42
|
product_with_categories = Elibri::XmlMocks::Examples.onix_subjects_example(:elibri_product_category1_id => nil, :elibri_product_category2_id => nil)
|
42
43
|
message = Elibri::ONIX::Release_3_0::ONIXMessage.from_xml(Elibri::ONIX::XMLGenerator.new(product_with_categories).to_s)
|
43
44
|
message.products.first.subjects.size.should == 0
|
44
|
-
|
45
45
|
end
|
46
46
|
|
47
47
|
NAME_STRING_VECTOR = {
|
@@ -53,7 +53,7 @@ describe Elibri::XmlMocks::Examples do
|
|
53
53
|
[:collection, Proc.new { Elibri::XmlMocks::Examples.collection_mock(:name => 'nazwa') } ] => [:collection_title, 'nazwa'],
|
54
54
|
# [ :atrybut do podania do mocka, proc ktory wygeneruje mock ] => [ :atrybut w elibri, wartosc oczekiwana ]
|
55
55
|
:collection_part => :collection_part,
|
56
|
-
:
|
56
|
+
:original_title => :original_title,
|
57
57
|
:trade_title => :trade_title,
|
58
58
|
[ :sale_restricted_to, Proc.new { Date.new(2011, 1, 1) } ] => [ :parsed_publishing_date, [2011, 1, 1] ],
|
59
59
|
:record_reference => :record_reference,
|
@@ -90,10 +90,10 @@ describe Elibri::XmlMocks::Examples do
|
|
90
90
|
:duration => :duration,
|
91
91
|
:file_size => :file_size,
|
92
92
|
### atrybuty powiązane z kind_of_measurable
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
93
|
+
:width => :width,
|
94
|
+
:weight => :weight,
|
95
|
+
:thickness => :thickness,
|
96
|
+
:height => :height,
|
97
97
|
}
|
98
98
|
|
99
99
|
NAME_INT_VECTOR.keys.each do |property|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elibri_onix_mocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 7
|
10
|
+
version: 0.1.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Piotr Szmielew
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-06-12 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec
|
@@ -162,6 +162,7 @@ files:
|
|
162
162
|
- lib/elibri_onix_mocks.rb
|
163
163
|
- lib/elibri_onix_mocks/generators/xml_generator.rb
|
164
164
|
- lib/elibri_onix_mocks/mocks/mock_method_missing.rb
|
165
|
+
- lib/elibri_onix_mocks/mocks/product.rb
|
165
166
|
- lib/elibri_onix_mocks/mocks/xml_mocks.rb
|
166
167
|
- lib/elibri_onix_mocks/onix_helpers.rb
|
167
168
|
- lib/elibri_onix_mocks/version.rb
|
@@ -197,10 +198,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
198
|
requirements: []
|
198
199
|
|
199
200
|
rubyforge_project: elibri_onix_mocks
|
200
|
-
rubygems_version: 1.8.
|
201
|
+
rubygems_version: 1.8.19
|
201
202
|
signing_key:
|
202
203
|
specification_version: 3
|
203
204
|
summary: Gem that allows you to mock eLibri style xmls
|
204
|
-
test_files:
|
205
|
-
|
206
|
-
- spec/spec_helper.rb
|
205
|
+
test_files: []
|
206
|
+
|