elibri_onix_mocks 0.1.6 → 0.1.7
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/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
|
+
|