elibri_onix_mocks 0.1.0 → 0.1.2
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.
@@ -248,23 +248,6 @@ module Elibri
|
|
248
248
|
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
249
249
|
end
|
250
250
|
|
251
|
-
|
252
|
-
def onix_categories_example(options = {})
|
253
|
-
opt = {
|
254
|
-
:publisher_name => "Buchmann",
|
255
|
-
:publisher_id => 15,
|
256
|
-
:publisher_product_categories => [
|
257
|
-
stub('PublisherProductCategory', :name => "Beletrystyka: Horror"),
|
258
|
-
stub('PublisherProductCategory', :name => "Beletrystyka: Sensacja")
|
259
|
-
]
|
260
|
-
}.merge(options)
|
261
|
-
basic_product.tap do |product|
|
262
|
-
product.stubs(
|
263
|
-
opt
|
264
|
-
)
|
265
|
-
end.extend(OnixHelpers::InstanceMethods).extend(MockMethodMissing)
|
266
|
-
end
|
267
|
-
|
268
251
|
def onix_languages_example(options = {})
|
269
252
|
opt = {
|
270
253
|
:languages => [
|
@@ -348,10 +331,18 @@ module Elibri
|
|
348
331
|
|
349
332
|
|
350
333
|
|
351
|
-
def onix_subjects_example(options
|
334
|
+
def onix_subjects_example(options={})
|
335
|
+
category1_id = options.has_key?(:elibri_product_category1_id) ? options[:elibri_product_category1_id] : 491
|
336
|
+
category2_id = options.has_key?(:elibri_product_category2_id) ? options[:elibri_product_category2_id] : 1110
|
337
|
+
|
338
|
+
categories = []
|
339
|
+
categories << stub('ElibriProductCategory', :id => category1_id, :full_node_path_name => "Kategoria #{category1_id}") if category1_id
|
340
|
+
categories << stub('ElibriProductCategory', :id => category2_id, :full_node_path_name => "Kategoria #{category2_id}") if category2_id
|
341
|
+
|
352
342
|
opt = {
|
353
|
-
:elibri_product_category1_id =>
|
354
|
-
:elibri_product_category2_id =>
|
343
|
+
:elibri_product_category1_id => category1_id,
|
344
|
+
:elibri_product_category2_id => category2_id,
|
345
|
+
:elibri_product_categories => categories
|
355
346
|
}.merge(options)
|
356
347
|
basic_product.tap do |product|
|
357
348
|
product.stubs(
|
@@ -798,4 +789,4 @@ module Elibri
|
|
798
789
|
|
799
790
|
end
|
800
791
|
end
|
801
|
-
end
|
792
|
+
end
|
@@ -1,14 +1,13 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
|
-
|
5
4
|
$VERBOSE = nil #temp: supress id warnings
|
6
5
|
|
7
6
|
describe Elibri::XmlMocks::Examples do
|
8
7
|
|
9
8
|
[
|
10
9
|
:basic_product, :book_example, :onix_record_identifiers_example, :onix_product_form_example,
|
11
|
-
:onix_epub_details_example, :
|
10
|
+
:onix_epub_details_example, :onix_languages_example,
|
12
11
|
:onix_measurement_example, :onix_sale_restrictions_example, :onix_audience_range_example,
|
13
12
|
:onix_publisher_info_example, :onix_subjects_example, :onix_edition_example, :onix_ebook_extent_example,
|
14
13
|
:onix_audiobook_extent_example, :onix_no_contributors_example, :onix_collective_work_example,
|
@@ -28,6 +27,20 @@ describe Elibri::XmlMocks::Examples do
|
|
28
27
|
|
29
28
|
end
|
30
29
|
|
30
|
+
it "onix_subjects_example should return a valid list of product categories" do
|
31
|
+
product_with_categories = Elibri::XmlMocks::Examples.onix_subjects_example()
|
32
|
+
message = Elibri::ONIX::Release_3_0::ONIXMessage.from_xml(Elibri::ONIX::XMLGenerator.new(product_with_categories).to_s)
|
33
|
+
message.products.first.subjects.size.should == 2
|
34
|
+
|
35
|
+
product_with_categories = Elibri::XmlMocks::Examples.onix_subjects_example(:elibri_product_category1_id => 1110, :elibri_product_category2_id => nil)
|
36
|
+
message = Elibri::ONIX::Release_3_0::ONIXMessage.from_xml(Elibri::ONIX::XMLGenerator.new(product_with_categories).to_s)
|
37
|
+
message.products.first.subjects.size.should == 1
|
38
|
+
|
39
|
+
product_with_categories = Elibri::XmlMocks::Examples.onix_subjects_example(:elibri_product_category1_id => nil, :elibri_product_category2_id => nil)
|
40
|
+
message = Elibri::ONIX::Release_3_0::ONIXMessage.from_xml(Elibri::ONIX::XMLGenerator.new(product_with_categories).to_s)
|
41
|
+
message.products.first.subjects.size.should == 0
|
42
|
+
|
43
|
+
end
|
31
44
|
#more tests to add
|
32
45
|
|
33
|
-
end
|
46
|
+
end
|
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: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Piotr Szmielew
|
@@ -15,7 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-05-08 00:00:00 +02:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: rspec
|
@@ -141,6 +142,7 @@ files:
|
|
141
142
|
- lib/elibri_onix_mocks/xml_variant.rb
|
142
143
|
- spec/elibri_onix_mocks_spec.rb
|
143
144
|
- spec/spec_helper.rb
|
145
|
+
has_rdoc: true
|
144
146
|
homepage: ""
|
145
147
|
licenses: []
|
146
148
|
|
@@ -170,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
172
|
requirements: []
|
171
173
|
|
172
174
|
rubyforge_project: elibri_onix_mocks
|
173
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 1.5.2
|
174
176
|
signing_key:
|
175
177
|
specification_version: 3
|
176
178
|
summary: Gem that allows you to mock eLibri style xmls
|