elibri_onix 0.4.4 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/FIELDS.rdoc +2 -2
  3. data/lib/elibri_onix.rb +0 -1
  4. data/lib/elibri_onix/external_id.rb +0 -10
  5. data/lib/elibri_onix/onix_3_0/audience_range.rb +3 -12
  6. data/lib/elibri_onix/onix_3_0/collection.rb +0 -0
  7. data/lib/elibri_onix/onix_3_0/contributor.rb +11 -11
  8. data/lib/elibri_onix/onix_3_0/excerpt_info.rb +29 -10
  9. data/lib/elibri_onix/onix_3_0/extent.rb +3 -12
  10. data/lib/elibri_onix/onix_3_0/file_info.rb +0 -5
  11. data/lib/elibri_onix/onix_3_0/header.rb +2 -2
  12. data/lib/elibri_onix/onix_3_0/imprint.rb +1 -1
  13. data/lib/elibri_onix/onix_3_0/language.rb +2 -13
  14. data/lib/elibri_onix/onix_3_0/measure.rb +3 -12
  15. data/lib/elibri_onix/onix_3_0/onix_message.rb +4 -16
  16. data/lib/elibri_onix/onix_3_0/price.rb +11 -11
  17. data/lib/elibri_onix/onix_3_0/product.rb +137 -69
  18. data/lib/elibri_onix/onix_3_0/product_identifier.rb +3 -3
  19. data/lib/elibri_onix/onix_3_0/publisher.rb +4 -11
  20. data/lib/elibri_onix/onix_3_0/publishing_date.rb +3 -3
  21. data/lib/elibri_onix/onix_3_0/related_product.rb +2 -2
  22. data/lib/elibri_onix/onix_3_0/sales_restriction.rb +4 -4
  23. data/lib/elibri_onix/onix_3_0/sender.rb +3 -3
  24. data/lib/elibri_onix/onix_3_0/stock_quantity_coded.rb +2 -2
  25. data/lib/elibri_onix/onix_3_0/supplier.rb +7 -7
  26. data/lib/elibri_onix/onix_3_0/supplier_identifier.rb +3 -3
  27. data/lib/elibri_onix/onix_3_0/supply_detail.rb +15 -10
  28. data/lib/elibri_onix/onix_3_0/supporting_resource.rb +6 -5
  29. data/lib/elibri_onix/onix_3_0/text_content.rb +6 -6
  30. data/lib/elibri_onix/onix_3_0/thema_subject.rb +33 -0
  31. data/lib/elibri_onix/onix_3_0/title_detail.rb +2 -11
  32. data/lib/elibri_onix/onix_3_0/title_element.rb +4 -4
  33. data/lib/elibri_onix/releases.rb +2 -2
  34. data/lib/elibri_onix/version.rb +1 -1
  35. data/test/cover_test.rb +18 -0
  36. data/test/elibri_audiobook_test.rb +33 -0
  37. data/test/elibri_extensions_test.rb +9 -0
  38. data/test/elibri_onix_release_3_0_onix_message_test.rb +4 -18
  39. data/test/elibri_subjects_test.rb +30 -0
  40. data/test/elibri_supporting_resources_test.rb +4 -2
  41. data/test/fixtures/all_possible_tags.xml +1 -1
  42. data/test/fixtures/onix_audiobook_example.xml +261 -0
  43. data/test/fixtures/onix_removed_elibri_extensions.xml +81 -0
  44. data/test/fixtures/onix_subjects_example.xml +110 -0
  45. data/test/fixtures/onix_supporting_resources_example.xml +15 -5
  46. metadata +9 -6
  47. data/lib/elibri_onix/nokogiri_patch.rb +0 -17
  48. data/lib/elibri_onix/onix_3_0/subject.rb +0 -50
  49. data/test/elibri_categories_test.rb +0 -18
  50. data/test/fixtures/onix_categories_example.xml +0 -59
@@ -32,9 +32,9 @@ module Elibri
32
32
 
33
33
  def initialize(data)
34
34
  @to_xml = data.to_s
35
- @type = data.at_xpath('xmlns:ProductIDType').try(:text)
36
- @type_name = data.at_xpath('xmlns:IDTypeName').try(:text)
37
- @value = data.at_xpath('xmlns:IDValue').try(:text)
35
+ @type = data.at_css('ProductIDType').try(:text)
36
+ @type_name = data.at_css('IDTypeName').try(:text)
37
+ @value = data.at_css('IDValue').try(:text)
38
38
  end
39
39
 
40
40
  #returs the string name of value type
@@ -27,24 +27,17 @@ module Elibri
27
27
 
28
28
  def initialize(data)
29
29
  @to_xml = data.to_s
30
- @role = data.at_xpath('xmlns:PublishingRole').try(:text)
31
- @name = data.at_xpath('xmlns:PublisherName').try(:text)
32
- if data.at_xpath('xmlns:PublisherIdentifier')
33
- @eid = data.at_xpath('xmlns:PublisherIdentifier').at_xpath('xmlns:IDValue').try(:text).try(:to_i)
30
+ @role = data.at_css('PublishingRole').try(:text)
31
+ @name = data.at_css('PublisherName').try(:text)
32
+ if data.at_css('PublisherIdentifier')
33
+ @eid = data.at_css('PublisherIdentifier').at_css('IDValue').try(:text).try(:to_i)
34
34
  end
35
35
  end
36
36
 
37
37
  def inspect_include_fields
38
38
  [:eid, :name]
39
39
  end
40
-
41
- def id
42
- Kernel.warn "[DEPRECATION] `id` is deprecated. Please use `eid` instead."
43
- @eid
44
- end
45
-
46
40
  end
47
-
48
41
  end
49
42
  end
50
43
  end
@@ -24,9 +24,9 @@ module Elibri
24
24
 
25
25
  def initialize(data)
26
26
  @to_xml = data.to_s
27
- @role = data.at_xpath('xmlns:PublishingDateRole').try(:text)
28
- @format = data.at_xpath('xmlns:DateFormat').try(:text)
29
- @date = data.at_xpath('xmlns:Date').try(:text)
27
+ @role = data.at_css('PublishingDateRole').try(:text)
28
+ @format = data.at_css('DateFormat').try(:text)
29
+ @date = data.at_css('Date').try(:text)
30
30
  end
31
31
 
32
32
  def parsed
@@ -27,8 +27,8 @@ module Elibri
27
27
 
28
28
  def initialize(data)
29
29
  @to_xml = data.to_s
30
- @relation_code = data.at_xpath('xmlns:ProductRelationCode').try(:text)
31
- @identifiers = data.xpath('xmlns:ProductIdentifier').map { |identifier_data| ProductIdentifier.new(identifier_data) }
30
+ @relation_code = data.at_css('ProductRelationCode').try(:text)
31
+ @identifiers = data.css('ProductIdentifier').map { |identifier_data| ProductIdentifier.new(identifier_data) }
32
32
  end
33
33
 
34
34
 
@@ -23,11 +23,11 @@ module Elibri
23
23
 
24
24
  def initialize(data)
25
25
  @to_xml = data.to_s
26
- @type = data.at_xpath('xmlns:SalesRestrictionType').try(:text).try(:to_i)
27
- if data.at_xpath('xmlns:SalesOutlet')
28
- @outlet_name = data.at_xpath('xmlns:SalesOutlet').at_xpath('xmlns:SalesOutletName').try(:text)
26
+ @type = data.at_css('SalesRestrictionType').try(:text).try(:to_i)
27
+ if data.at_css('SalesOutlet')
28
+ @outlet_name = data.at_css('SalesOutlet').at_css('SalesOutletName').try(:text)
29
29
  end
30
- @end_date = Date.parse(data.at_xpath('xmlns:EndDate').try(:text)) if data.at_xpath('xmlns:EndDate')
30
+ @end_date = Date.parse(data.at_css('EndDate').try(:text)) if data.at_css('EndDate')
31
31
  end
32
32
 
33
33
  end
@@ -34,9 +34,9 @@ module Elibri
34
34
 
35
35
  def initialize(data)
36
36
  @to_xml = data.to_s
37
- @sender_name = data.at_xpath('xmlns:SenderName').text
38
- @contact_name = data.at_xpath('xmlns:ContactName').text
39
- @email_address = data.at_xpath('xmlns:EmailAddress').text
37
+ @sender_name = data.at_css('SenderName').text
38
+ @contact_name = data.at_css('ContactName').text
39
+ @email_address = data.at_css('EmailAddress').text
40
40
  end
41
41
 
42
42
  end
@@ -21,8 +21,8 @@ module Elibri
21
21
 
22
22
  def initialize(data)
23
23
  @to_xml = data.to_s
24
- @code_type = data.at_xpath('xmlns:StockQuantityCodeType').try(:text).try(:to_i)
25
- @code = data.at_xpath('xmlns:StockQuantityCode').try(:text)
24
+ @code_type = data.at_css('StockQuantityCodeType').try(:text).try(:to_i)
25
+ @code = data.at_css('StockQuantityCode').try(:text)
26
26
  end
27
27
 
28
28
  end
@@ -24,13 +24,13 @@ module Elibri
24
24
 
25
25
  def initialize(data)
26
26
  @to_xml = data.to_s
27
- @role = data.at_xpath('xmlns:SupplierRole').try(:text).try(:to_i)
28
- @identifiers = data.xpath('xmlns:SupplierIdentifier').map { |identifier_data| SupplierIdentifier.new(identifier_data) }
29
- @name = data.at_xpath('xmlns:SupplierName').try(:text)
30
- @telephone_number = data.at_xpath('xmlns:TelephoneNumber').try(:text)
31
- @email_address = data.at_xpath('xmlns:EmailAddress').try(:text)
32
- if data.at_xpath('xmlns:Website')
33
- @website = data.at_xpath('xmlns:Website').at_xpath('xmlns:WebsiteLink').try(:text)
27
+ @role = data.at_css('SupplierRole').try(:text)
28
+ @identifiers = data.css('SupplierIdentifier').map { |identifier_data| SupplierIdentifier.new(identifier_data) }
29
+ @name = data.at_css('SupplierName').try(:text)
30
+ @telephone_number = data.at_css('TelephoneNumber').try(:text)
31
+ @email_address = data.at_css('EmailAddress').try(:text)
32
+ if data.at_css('Website')
33
+ @website = data.at_css('Website').at_css('WebsiteLink').try(:text)
34
34
  end
35
35
  end
36
36
 
@@ -26,9 +26,9 @@ module Elibri
26
26
 
27
27
  def initialize(data)
28
28
  @to_xml = data.to_s
29
- @type = data.at_xpath('xmlns:SupplierIDType').try(:text)
30
- @type_name = data.at_xpath('xmlns:IDTypeName').try(:text)
31
- @value = data.at_xpath('xmlns:IDValue').try(:text)
29
+ @type = data.at_css('SupplierIDType').try(:text)
30
+ @type_name = data.at_css('IDTypeName').try(:text)
31
+ @value = data.at_css('IDValue').try(:text)
32
32
  end
33
33
 
34
34
  end
@@ -15,23 +15,28 @@ module Elibri
15
15
 
16
16
 
17
17
  ATTRIBUTES = [
18
- :relation_code, :supplier, :product_availability, :pack_quantity, :price, :on_hand, :quantity_coded, :quantity_code
18
+ :relation_code, :supplier, :product_availability, :pack_quantity, :price, :on_hand, :quantity_coded, :quantity_code, :additional_trade_information
19
19
  ]
20
20
 
21
- attr_accessor :relation_code, :supplier, :product_availability, :pack_quantity, :price, :on_hand, :quantity_coded, :to_xml
21
+ attr_accessor :relation_code, :supplier, :product_availability, :pack_quantity, :price, :on_hand, :quantity_coded, :to_xml, :additional_trade_information
22
22
 
23
23
  RELATIONS = []
24
24
 
25
25
  def initialize(data)
26
26
  @to_xml = data.to_s
27
- @relation_code = data.at_xpath('xmlns:ProductRelationCode').try(:text).try(:to_i)
28
- @supplier = Supplier.new(data.at_xpath('xmlns:Supplier')) if data.at_xpath('xmlns:Supplier')
29
- @product_availability = data.at_xpath('xmlns:ProductAvailability').try(:text).try(:to_i)
30
- @pack_quantity = data.at_xpath('xmlns:PackQuantity').try(:text).try(:to_i)
31
- @price = Price.new(data.at_xpath('xmlns:Price')) if data.at_xpath('xmlns:Price')
32
- if data.at_xpath('xmlns:Stock')
33
- @on_hand = data.at_xpath('xmlns:Stock').at_xpath('xmlns:OnHand').try(:text).try(:to_i)
34
- @quantity_coded = StockQuantityCoded.new(data.at_xpath('xmlns:Stock').at_xpath('xmlns:StockQuantityCoded')) if data.at_xpath('xmlns:Stock').at_xpath('xmlns:StockQuantityCoded')
27
+ @relation_code = data.at_css('ProductRelationCode').try(:text).try(:to_i)
28
+ @supplier = Supplier.new(data.at_css('Supplier')) if data.at_css('Supplier')
29
+ @product_availability = data.at_css('ProductAvailability').try(:text).try(:to_i)
30
+ @pack_quantity = data.at_css('PackQuantity').try(:text).try(:to_i)
31
+ @price = Price.new(data.at_css('Price')) if data.at_css('Price')
32
+ if data.at_css('Stock')
33
+ @on_hand = data.at_css('Stock').at_css('OnHand').try(:text).try(:to_i)
34
+ @quantity_coded = StockQuantityCoded.new(data.at_css('Stock').at_css('StockQuantityCoded')) if data.at_css('Stock').at_css('StockQuantityCoded')
35
+ end
36
+ if own_coding = data.at_css('SupplierOwnCoding')
37
+ if own_coding.at_css('SupplierCodeType').text == Elibri::ONIX::Dict::Release_3_0::SupplierOwnCodeType::SUPPLIERS_SALES_CLASSIFICATION
38
+ @additional_trade_information = own_coding.at_css('SupplierCodeValue').text
39
+ end
35
40
  end
36
41
  end
37
42
 
@@ -20,14 +20,15 @@ module Elibri
20
20
  :inspect_include_fields
21
21
  ]
22
22
 
23
- attr_accessor :content_type, :mode, :form, :link, :to_xml
23
+ attr_accessor :content_type, :mode, :form, :link, :to_xml, :data
24
24
 
25
25
  def initialize(data)
26
+ @data = data
26
27
  @to_xml = data.to_s
27
- @content_type = data.at_xpath('xmlns:ResourceContentType').try(:text)
28
- @mode = data.at_xpath('xmlns:ResourceMode').try(:text)
29
- @form = data.at_xpath('xmlns:ResourceVersion').at_xpath('xmlns:ResourceForm').try(:text)
30
- @link = data.at_xpath('xmlns:ResourceVersion').at_xpath('xmlns:ResourceLink').try(:text)
28
+ @content_type = data.at_css('ResourceContentType').try(:text)
29
+ @mode = data.at_css('ResourceMode').try(:text)
30
+ @form = data.at_css('ResourceVersion').at_css('ResourceForm').try(:text)
31
+ @link = data.at_css('ResourceVersion').at_css('ResourceLink').try(:text)
31
32
  set_eid(data)
32
33
  set_datestamp(data)
33
34
  end
@@ -25,12 +25,12 @@ module Elibri
25
25
 
26
26
  def initialize(data)
27
27
  @to_xml = data.to_s
28
- @type = data.at_xpath('xmlns:TextType').try(:text)
29
- @author = data.at_xpath('xmlns:TextAuthor').try(:text)
30
- @source_title = data.at_xpath('xmlns:SourceTitle').try(:text)
31
- if data.at_xpath('xmlns:Text')
32
- @text = data.at_xpath('xmlns:Text').children.find { |x| x.cdata? }.try(:text) #cdata => true ?
33
- @source_url = data.at_xpath('xmlns:Text').attribute('sourcename').try(:text)
28
+ @type = data.at_css('TextType').try(:text)
29
+ @author = data.at_css('TextAuthor').try(:text)
30
+ @source_title = data.at_css('SourceTitle').try(:text)
31
+ if data.at_css('Text')
32
+ @text = data.at_css('Text').children.find { |x| x.cdata? }.try(:text) #cdata => true ?
33
+ @source_url = data.at_css('Text').attribute('sourcename').try(:text)
34
34
  end
35
35
  set_eid(data)
36
36
  set_datestamp(data)
@@ -0,0 +1,33 @@
1
+
2
+ module Elibri
3
+ module ONIX
4
+ module Release_3_0
5
+
6
+ #Kategoria Themy
7
+ class ThemaSubject
8
+
9
+ include HashId
10
+
11
+ ATTRIBUTES = [
12
+ :code, :heading_text
13
+ ]
14
+
15
+ RELATIONS = [
16
+ :inspect_include_fields
17
+ ]
18
+
19
+ attr_accessor :code, :heading_text, :to_xml
20
+
21
+ def initialize(data)
22
+ @to_xml = data.to_s
23
+ @code = data.at_css('SubjectCode').try(:text)
24
+ @heading_text = data.at_css('SubjectHeadingText').try(:text)
25
+ end
26
+
27
+ def inspect_include_fields
28
+ [:code]
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -26,17 +26,8 @@ module Elibri
26
26
 
27
27
  def initialize(data)
28
28
  @to_xml = data.to_s
29
- @type = data.at_xpath('xmlns:TitleType').try(:text)
30
- @elements = data.xpath('xmlns:TitleElement').map { |element_data| TitleElement.new(element_data) }
31
- end
32
-
33
- # def eid
34
- # @type.to_i
35
- # end
36
-
37
- def id
38
- Kernel.warn "[DEPRECATION] `id` is deprecated. Please use `eid` instead."
39
- eid
29
+ @type = data.at_css('TitleType').try(:text)
30
+ @elements = data.css('TitleElement').map { |element_data| TitleElement.new(element_data) }
40
31
  end
41
32
 
42
33
  def type_name
@@ -30,10 +30,10 @@ module Elibri
30
30
 
31
31
  def initialize(data)
32
32
  @to_xml = data.to_s
33
- @level = data.at_xpath('xmlns:TitleElementLevel').try(:text)
34
- @part_number = data.at_xpath('xmlns:PartNumber').try(:text)
35
- @title = data.at_xpath('xmlns:TitleText').try(:text)
36
- @subtitle = data.at_xpath('xmlns:Subtitle').try(:text)
33
+ @level = data.at_css('TitleElementLevel').try(:text)
34
+ @part_number = data.at_css('PartNumber').try(:text)
35
+ @title = data.at_css('TitleText').try(:text)
36
+ @subtitle = data.at_css('Subtitle').try(:text)
37
37
  end
38
38
 
39
39
  def full_title
@@ -1,10 +1,10 @@
1
1
 
2
2
 
3
3
  %w{
4
- sender header product_identifier measure title_element title_detail collection contributor subject
4
+ sender header product_identifier measure title_element title_detail collection contributor
5
5
  language extent audience_range text_content supporting_resource imprint publisher publishing_date
6
6
  sales_restriction related_product supplier_identifier stock_quantity_coded price supplier supply_detail
7
- product onix_message excerpt_info file_info
7
+ product onix_message excerpt_info file_info thema_subject
8
8
  }.each do |file_name|
9
9
  require File.join(File.dirname(__FILE__), "onix_3_0", file_name)
10
10
  end
@@ -2,7 +2,7 @@ module Elibri
2
2
  module ONIX
3
3
  z = $VERBOSE
4
4
  $VERBOSE = nil
5
- VERSION = "0.4.4"
5
+ VERSION = "0.5.0"
6
6
  Version = VERSION
7
7
  $VERBOSE = z
8
8
  end
@@ -0,0 +1,18 @@
1
+ require 'helper'
2
+
3
+
4
+ describe "CoverType" do
5
+
6
+ it "should be able to determine the cover type" do
7
+ assert_equal "gąbka", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BF", nil)
8
+ assert_equal "miękka", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BC", nil)
9
+ assert_equal "miękka ze skrzydełkami", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BC", "B504")
10
+ assert_equal "plastikowa", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BB", "B413")
11
+ assert_equal "skórzana", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BG", nil)
12
+ assert_equal "twarda", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BB", nil)
13
+ assert_equal "twarda lakierowana", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BB", "B415")
14
+ assert_equal "twarda z obwolutą", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BB", "B501")
15
+ assert_equal "zintegrowana", Elibri::ONIX::Release_3_0::Product.determine_cover_type("BC", "B412")
16
+ end
17
+
18
+ end
@@ -0,0 +1,33 @@
1
+ #encoding: UTF-8
2
+ require 'helper'
3
+
4
+ describe Elibri::ONIX::Release_3_0::ONIXMessage do
5
+
6
+ it "should be able to parse audiobook info" do
7
+ product = load_fixture("onix_audiobook_example.xml")
8
+
9
+ assert_equal 1, product.excerpt_infos.size
10
+ e = product.excerpt_infos[0]
11
+
12
+ assert_equal 2589928, e.file_size
13
+ assert_equal "0bf20c528f323dd2a6d91627ccddf52e", e.md5
14
+ assert_equal "mp3_excerpt", e.file_type
15
+ assert_equal Time.parse("20190712T2158Z"), e.updated_at
16
+ assert_equal "https://www.elibri.com.pl/excerpt/109048/0bf20c528f323dd2a6d91627ccddf52e/kwiaty-dla-algernona-fragment.mp3", e.link
17
+ assert_equal 109048, e.eid
18
+
19
+ assert_equal 524, product.duration
20
+ assert_equal "audio recording file", product.product_form_name
21
+
22
+ assert_equal 23, product.vat
23
+ assert_equal 34.90, product.cover_price
24
+
25
+ assert_equal '9788380625952', product.isbn13
26
+ assert_equal '9788380625952', product.hyphenated_isbn
27
+
28
+ assert_equal "20250307", product.licence_limited_to_before_type_cast
29
+ assert_equal Date.new(2025, 3, 7), product.licence_limited_to
30
+ refute product.unlimited_licence
31
+ end
32
+
33
+ end
@@ -15,4 +15,13 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
15
15
  assert_equal "PROMOCJA!", product.additional_info
16
16
  end
17
17
 
18
+ it "should be able to parse the info without the propertiary extensions" do
19
+ product = load_fixture("onix_removed_elibri_extensions.xml")
20
+ assert_equal 12.99, product.cover_price
21
+ assert_equal 5, product.vat
22
+ assert_equal "PROMO 20", product.additional_trade_information
23
+ assert_equal "58.11.1", product.pkwiu
24
+ assert_equal "twarda z obwolutą", product.cover_type
25
+ end
26
+
18
27
  end
@@ -9,7 +9,6 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
9
9
 
10
10
  onix = Elibri::ONIX::Release_3_0::ONIXMessage.new(xml_string)
11
11
  assert_equal '3.0', onix.release
12
- assert_equal '3.0.1', onix.elibri_dialect
13
12
  assert_equal 'Elibri.com.pl', onix.header.sender.sender_name
14
13
  assert_equal 'Tomasz Meka', onix.header.sender.contact_name
15
14
  assert_equal 'kontakt@elibri.com.pl', onix.header.sender.email_address
@@ -18,7 +17,6 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
18
17
  assert_equal 1, onix.products.size
19
18
 
20
19
  product = onix.products.first
21
- assert_equal '3.0.1', product.elibri_dialect
22
20
 
23
21
  assert_equal 'miękka', product.cover_type
24
22
  assert_equal 12.99, product.cover_price
@@ -73,18 +71,6 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
73
71
  assert_equal 250, product.number_of_pages
74
72
  assert_equal 32, product.number_of_illustrations
75
73
 
76
- assert_equal 2, product.subjects.size
77
- assert !product.subjects[1].main_subject?
78
-
79
- product.subjects[0].tap do |first_subject|
80
- assert first_subject.main_subject?
81
- assert_equal 24, first_subject.scheme_identifier
82
- assert_equal 'elibri.com.pl', first_subject.scheme_name
83
- assert_equal '1.0', first_subject.scheme_version
84
- assert_equal '1110', first_subject.code
85
- assert_equal 'Beletrystyka / Literatura popularna / Powieść historyczna', first_subject.heading_text
86
- end
87
-
88
74
  assert_equal 7, product.reading_age_from
89
75
  assert_equal 25, product.reading_age_to
90
76
 
@@ -138,7 +124,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
138
124
 
139
125
  product.supply_details.first.tap do |supply_detail|
140
126
  supply_detail.supplier.tap do |supplier|
141
- assert_equal 3, supplier.role
127
+ assert_equal "03", supplier.role
142
128
  assert_equal '5213359408', supplier.nip
143
129
  assert_equal 'Gildia.pl', supplier.name
144
130
  assert_equal "22 631 40 83", supplier.telephone_number
@@ -151,14 +137,14 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
151
137
  assert_equal 7, supply_detail.pack_quantity
152
138
 
153
139
  supply_detail.price.tap do |price|
154
- assert_equal 2, price.type
140
+ assert_equal "02", price.type
155
141
  assert_equal 20, price.minimum_order_quantity
156
142
  assert_equal 12.99, price.amount
157
143
  assert_equal 7, price.vat
158
144
  assert_equal 'PLN', price.currency_code
159
- assert_equal 2, price.printed_on_product
145
+ assert_equal "02", price.printed_on_product
160
146
  assert price.printed_on_product?
161
- assert_equal 0, price.position_on_product
147
+ assert_equal "00", price.position_on_product
162
148
  end
163
149
  end
164
150