7digital 0.0.6 → 0.0.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.
Files changed (269) hide show
  1. data/README.rdoc +136 -136
  2. data/lib/sevendigital.rb +53 -53
  3. data/lib/sevendigital/api_operator.rb +130 -130
  4. data/lib/sevendigital/api_operator_cached.rb +41 -41
  5. data/lib/sevendigital/api_request.rb +65 -65
  6. data/lib/sevendigital/client.rb +113 -113
  7. data/lib/sevendigital/client_configuration.rb +86 -86
  8. data/lib/sevendigital/client_digestors.rb +107 -107
  9. data/lib/sevendigital/client_managers.rb +47 -47
  10. data/lib/sevendigital/digestion_tract/api_response_digestor.rb +58 -58
  11. data/lib/sevendigital/digestion_tract/artist_digestor.rb +32 -32
  12. data/lib/sevendigital/digestion_tract/basket_digestor.rb +19 -19
  13. data/lib/sevendigital/digestion_tract/basket_item_digestor.rb +26 -26
  14. data/lib/sevendigital/digestion_tract/chart_item_digestor.rb +28 -28
  15. data/lib/sevendigital/digestion_tract/digestor.rb +71 -71
  16. data/lib/sevendigital/digestion_tract/download_url_digestor.rb +20 -20
  17. data/lib/sevendigital/digestion_tract/format_digestor.rb +22 -22
  18. data/lib/sevendigital/digestion_tract/label_digestor.rb +20 -20
  19. data/lib/sevendigital/digestion_tract/locker_digestor.rb +18 -18
  20. data/lib/sevendigital/digestion_tract/locker_release_digestor.rb +20 -20
  21. data/lib/sevendigital/digestion_tract/locker_track_digestor.rb +22 -22
  22. data/lib/sevendigital/digestion_tract/oauth_access_token_digestor.rb +14 -14
  23. data/lib/sevendigital/digestion_tract/oauth_request_token_digestor.rb +14 -14
  24. data/lib/sevendigital/digestion_tract/pager_digestor.rb +24 -24
  25. data/lib/sevendigital/digestion_tract/price_digestor.rb +25 -25
  26. data/lib/sevendigital/digestion_tract/release_digestor.rb +53 -53
  27. data/lib/sevendigital/digestion_tract/tag_digestor.rb +22 -22
  28. data/lib/sevendigital/digestion_tract/track_digestor.rb +38 -38
  29. data/lib/sevendigital/digestion_tract/user_card_digestor.rb +23 -23
  30. data/lib/sevendigital/digestion_tract/user_digestor.rb +20 -20
  31. data/lib/sevendigital/management/artist_manager.rb +99 -99
  32. data/lib/sevendigital/management/basket_manager.rb +29 -29
  33. data/lib/sevendigital/management/manager.rb +12 -12
  34. data/lib/sevendigital/management/oauth_manager.rb +23 -23
  35. data/lib/sevendigital/management/release_manager.rb +56 -56
  36. data/lib/sevendigital/management/tag_manager.rb +10 -10
  37. data/lib/sevendigital/management/track_manager.rb +28 -28
  38. data/lib/sevendigital/management/user_card_manager.rb +26 -26
  39. data/lib/sevendigital/management/user_manager.rb +71 -71
  40. data/lib/sevendigital/model/api_response.rb +25 -25
  41. data/lib/sevendigital/model/artist.rb +94 -94
  42. data/lib/sevendigital/model/basket.rb +15 -15
  43. data/lib/sevendigital/model/basket_item.rb +14 -14
  44. data/lib/sevendigital/model/card.rb +11 -11
  45. data/lib/sevendigital/model/chart_item.rb +9 -9
  46. data/lib/sevendigital/model/download_url.rb +7 -7
  47. data/lib/sevendigital/model/format.rb +7 -7
  48. data/lib/sevendigital/model/label.rb +7 -7
  49. data/lib/sevendigital/model/locker.rb +4 -4
  50. data/lib/sevendigital/model/locker_release.rb +9 -9
  51. data/lib/sevendigital/model/locker_track.rb +9 -9
  52. data/lib/sevendigital/model/price.rb +9 -9
  53. data/lib/sevendigital/model/release.rb +52 -52
  54. data/lib/sevendigital/model/sevendigital_error.rb +11 -11
  55. data/lib/sevendigital/model/sevendigital_object.rb +57 -57
  56. data/lib/sevendigital/model/tag.rb +7 -7
  57. data/lib/sevendigital/model/track.rb +83 -83
  58. data/lib/sevendigital/model/user.rb +63 -63
  59. data/lib/sevendigital/pager.rb +23 -23
  60. data/lib/sevendigital/peachy_patchy.rb +9 -9
  61. data/lib/sevendigital/proxy_police.rb +27 -27
  62. data/lib/sevendigital/version.rb +5 -5
  63. data/spec/api_operator_cached_spec.rb +178 -178
  64. data/spec/api_operator_spec.rb +336 -336
  65. data/spec/api_request_spec.rb +31 -31
  66. data/spec/client_configuration_spec.rb +79 -74
  67. data/spec/client_spec.rb +162 -162
  68. data/spec/coverage/assets/0.3.9/app.js +66 -0
  69. data/spec/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  70. data/spec/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  71. data/spec/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  72. data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  73. data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  74. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  75. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  76. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  77. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  78. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  79. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  80. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  81. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  82. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  83. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  84. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  85. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  86. data/spec/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  87. data/spec/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  88. data/spec/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  89. data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  90. data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  91. data/spec/coverage/assets/0.3.9/favicon.png +0 -0
  92. data/spec/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  93. data/spec/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  94. data/spec/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  95. data/spec/coverage/assets/0.3.9/jquery.url.js +174 -0
  96. data/spec/coverage/assets/0.3.9/loading.gif +0 -0
  97. data/spec/coverage/assets/0.3.9/magnify.png +0 -0
  98. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  99. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  100. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  101. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  102. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  103. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  104. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  105. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  106. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  107. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  108. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  109. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  110. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  111. data/spec/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  112. data/spec/coverage/assets/0.3.9/stylesheet.css +341 -0
  113. data/spec/coverage/index.html +47481 -0
  114. data/spec/coverage/resultset.yml +3556 -0
  115. data/spec/data/config/sevendigital.yml +5 -5
  116. data/spec/data/configuration_env_override.yml +5 -5
  117. data/spec/data/configuration_override.yml +1 -1
  118. data/spec/digestion_tract/api_response_digestor_spec.rb +92 -92
  119. data/spec/digestion_tract/artist_digestor_spec.rb +81 -81
  120. data/spec/digestion_tract/basket_digestor_spec.rb +31 -31
  121. data/spec/digestion_tract/basket_item_digestor_spec.rb +58 -58
  122. data/spec/digestion_tract/chart_digestor_spec.rb +52 -52
  123. data/spec/digestion_tract/download_url_digestor_spec.rb +40 -40
  124. data/spec/digestion_tract/format_digestor_spec.rb +38 -38
  125. data/spec/digestion_tract/label_digestor_spec.rb +33 -33
  126. data/spec/digestion_tract/locker_digestor_spec.rb +30 -30
  127. data/spec/digestion_tract/locker_release_digestor_spec.rb +70 -70
  128. data/spec/digestion_tract/locker_track_digestor_spec.rb +56 -56
  129. data/spec/digestion_tract/oauth_access_token_digestor_spec.rb +34 -34
  130. data/spec/digestion_tract/oauth_request_token_digestor_spec.rb +34 -34
  131. data/spec/digestion_tract/pager_digestor_spec.rb +50 -50
  132. data/spec/digestion_tract/price_digestor_spec.rb +73 -73
  133. data/spec/digestion_tract/release_digestor_spec.rb +101 -101
  134. data/spec/digestion_tract/tag_digestor_spec.rb +46 -46
  135. data/spec/digestion_tract/track_digestor_spec.rb +104 -104
  136. data/spec/digestion_tract/user_card_digestor_spec.rb +58 -58
  137. data/spec/digestion_tract/user_digestor_spec.rb +44 -44
  138. data/spec/management/artist_manager_spec.rb +151 -151
  139. data/spec/management/basket_manager_spec.rb +77 -77
  140. data/spec/management/oauth_manager_spec.rb +72 -72
  141. data/spec/management/release_manager_spec.rb +200 -200
  142. data/spec/management/tag_manager_spec.rb +34 -34
  143. data/spec/management/track_manager_spec.rb +107 -107
  144. data/spec/management/user_card_manager_spec.rb +78 -78
  145. data/spec/management/user_manager_spec.rb +202 -202
  146. data/spec/model/api_response_spec.rb +48 -48
  147. data/spec/model/artist_spec.rb +154 -154
  148. data/spec/model/basket_spec.rb +62 -62
  149. data/spec/model/coverage/assets/0.3.9/app.js +66 -0
  150. data/spec/model/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  151. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  152. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  153. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  154. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  155. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  156. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  157. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  158. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  159. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  160. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  161. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  162. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  163. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  164. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  165. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  166. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  167. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  168. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  169. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  170. data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  171. data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  172. data/spec/model/coverage/assets/0.3.9/favicon.png +0 -0
  173. data/spec/model/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  174. data/spec/model/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  175. data/spec/model/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  176. data/spec/model/coverage/assets/0.3.9/jquery.url.js +174 -0
  177. data/spec/model/coverage/assets/0.3.9/loading.gif +0 -0
  178. data/spec/model/coverage/assets/0.3.9/magnify.png +0 -0
  179. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  180. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  181. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  182. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  183. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  184. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  185. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  186. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  187. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  188. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  189. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  190. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  191. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  192. data/spec/model/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  193. data/spec/model/coverage/assets/0.3.9/stylesheet.css +341 -0
  194. data/spec/model/coverage/index.html +8637 -0
  195. data/spec/model/coverage/resultset.yml +642 -0
  196. data/spec/model/release_spec.rb +122 -122
  197. data/spec/model/sevendigital_object_spec.rb +73 -73
  198. data/spec/model/track_spec.rb +144 -144
  199. data/spec/model/user_spec.rb +160 -160
  200. data/spec/pager_spec.rb +7 -7
  201. data/spec/peachy_spec_helper_patch.rb +6 -6
  202. data/spec/proxy_police_spec.rb +69 -69
  203. data/spec/sevendigital_spec.rb +51 -70
  204. data/spec/sevendigital_spec.yml +4 -4
  205. data/spec/spec_helper.rb +64 -64
  206. data/spec/test-xml/methods/artist/browse.xml +21 -21
  207. data/spec/test-xml/methods/artist/byTag/top.xml +50 -50
  208. data/spec/test-xml/methods/artist/chart.xml +30 -30
  209. data/spec/test-xml/methods/artist/details.xml +9 -9
  210. data/spec/test-xml/methods/artist/releases.xml +544 -544
  211. data/spec/test-xml/methods/artist/search.xml +18 -18
  212. data/spec/test-xml/methods/artist/similar.xml +39 -39
  213. data/spec/test-xml/methods/artist/tags.xml +11 -11
  214. data/spec/test-xml/methods/artist/toptracks.xml +279 -279
  215. data/spec/test-xml/methods/basket/additem.xml +23 -23
  216. data/spec/test-xml/methods/basket/create.xml +10 -10
  217. data/spec/test-xml/methods/basket/index.xml +23 -23
  218. data/spec/test-xml/methods/basket/removeitem.xml +10 -10
  219. data/spec/test-xml/methods/oauth/accesstoken.xml +5 -5
  220. data/spec/test-xml/methods/oauth/requesttoken.xml +5 -5
  221. data/spec/test-xml/methods/release/bydate.xml +173 -173
  222. data/spec/test-xml/methods/release/bytag/top.xml +150 -150
  223. data/spec/test-xml/methods/release/chart.xml +181 -181
  224. data/spec/test-xml/methods/release/details.xml +48 -48
  225. data/spec/test-xml/methods/release/recommend.xml +89 -89
  226. data/spec/test-xml/methods/release/search.xml +194 -194
  227. data/spec/test-xml/methods/release/tags.xml +27 -27
  228. data/spec/test-xml/methods/release/tracks.xml +28 -28
  229. data/spec/test-xml/methods/tag/index.xml +16 -16
  230. data/spec/test-xml/methods/track/chart.xml +149 -149
  231. data/spec/test-xml/methods/track/details.xml +30 -30
  232. data/spec/test-xml/methods/track/search.xml +159 -159
  233. data/spec/test-xml/methods/user/locker.xml +49 -49
  234. data/spec/test-xml/methods/user/payment/card/add.xml +7 -7
  235. data/spec/test-xml/methods/user/payment/card/index.xml +7 -7
  236. data/spec/test-xml/methods/user/purchase/basket.xml +49 -0
  237. data/spec/test-xml/methods/user/purchase/item.xml +48 -48
  238. data/spec/test-xml/methods/user/signUp.xml +5 -5
  239. data/spec/test-xml/objects/artist.xml +6 -6
  240. data/spec/test-xml/objects/artist_chart_item.xml +7 -7
  241. data/spec/test-xml/objects/artist_list.xml +22 -22
  242. data/spec/test-xml/objects/artist_list_empty.xml +4 -4
  243. data/spec/test-xml/objects/basket.xml +21 -21
  244. data/spec/test-xml/objects/basket_item.xml +11 -11
  245. data/spec/test-xml/objects/basket_item_list.xml +25 -25
  246. data/spec/test-xml/objects/basket_item_list_empty.xml +1 -1
  247. data/spec/test-xml/objects/download_url.xml +7 -7
  248. data/spec/test-xml/objects/locker.xml +47 -47
  249. data/spec/test-xml/objects/locker_release.xml +40 -40
  250. data/spec/test-xml/objects/locker_release_list.xml +87 -87
  251. data/spec/test-xml/objects/locker_release_list_empty.xml +4 -4
  252. data/spec/test-xml/objects/locker_release_one_item_list.xml +43 -43
  253. data/spec/test-xml/objects/locker_track.xml +25 -25
  254. data/spec/test-xml/objects/locker_track_list.xml +26 -26
  255. data/spec/test-xml/objects/locker_track_list_empty.xml +2 -2
  256. data/spec/test-xml/objects/oauth_access_token.xml +3 -3
  257. data/spec/test-xml/objects/oauth_request_token.xml +3 -3
  258. data/spec/test-xml/objects/price.xml +7 -7
  259. data/spec/test-xml/objects/release.xml +40 -40
  260. data/spec/test-xml/objects/release_chart_item.xml +39 -39
  261. data/spec/test-xml/objects/release_list.xml +18 -18
  262. data/spec/test-xml/objects/release_list_empty.xml +4 -4
  263. data/spec/test-xml/objects/response.xml +38 -38
  264. data/spec/test-xml/objects/tag.xml +4 -4
  265. data/spec/test-xml/objects/track.xml +33 -33
  266. data/spec/test-xml/objects/track_chart_item.xml +27 -27
  267. data/spec/test-xml/objects/user.xml +4 -4
  268. data/spec/test-xml/objects/user_payment_card.xml +5 -5
  269. metadata +193 -3
@@ -1,53 +1,53 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
2
-
3
- describe "ChartItemDigestor" do
4
-
5
- before do
6
- @chart_item_digestor = Sevendigital::ChartItemDigestor.new(Sevendigital::Client.new(nil))
7
- end
8
-
9
- it "should not digest from invalid xml but throw up (exception)" do
10
-
11
- xml_response = <<XML
12
- <release id="123">
13
- <name>expected artist name</name>
14
- </release>
15
- XML
16
-
17
- running {@chart_item_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
18
- end
19
-
20
- it "should digest artist chart item" do
21
- xml_response = load_sample_object_xml("artist_chart_item")
22
-
23
- chart_item = @chart_item_digestor.from_xml(xml_response)
24
- chart_item.position.should == 2
25
- chart_item.change.should == :up
26
- chart_item.item.id.should == 33154
27
- chart_item.item.class.should == Sevendigital::Artist
28
- end
29
-
30
-
31
- it "should digest release chart item" do
32
- xml_response = load_sample_object_xml("release_chart_item")
33
-
34
- chart_item = @chart_item_digestor.from_xml(xml_response)
35
- chart_item.position.should == 1
36
- chart_item.change.should == :up
37
- chart_item.item.id.should == 932151
38
- chart_item.item.class.should == Sevendigital::Release
39
- end
40
-
41
- it "should digest track chart item" do
42
-
43
- xml_response = load_sample_object_xml("track_chart_item")
44
-
45
- chart_item = @chart_item_digestor.from_xml(xml_response)
46
- chart_item.position.should == 99
47
- chart_item.change.should == :down
48
- chart_item.item.id.should == 2825304
49
- chart_item.item.class.should == Sevendigital::Track
50
- end
51
-
52
-
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe "ChartItemDigestor" do
4
+
5
+ before do
6
+ @chart_item_digestor = Sevendigital::ChartItemDigestor.new(Sevendigital::Client.new(nil))
7
+ end
8
+
9
+ it "should not digest from invalid xml but throw up (exception)" do
10
+
11
+ xml_response = <<XML
12
+ <release id="123">
13
+ <name>expected artist name</name>
14
+ </release>
15
+ XML
16
+
17
+ running {@chart_item_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
18
+ end
19
+
20
+ it "should digest artist chart item" do
21
+ xml_response = load_sample_object_xml("artist_chart_item")
22
+
23
+ chart_item = @chart_item_digestor.from_xml(xml_response)
24
+ chart_item.position.should == 2
25
+ chart_item.change.should == :up
26
+ chart_item.item.id.should == 33154
27
+ chart_item.item.class.should == Sevendigital::Artist
28
+ end
29
+
30
+
31
+ it "should digest release chart item" do
32
+ xml_response = load_sample_object_xml("release_chart_item")
33
+
34
+ chart_item = @chart_item_digestor.from_xml(xml_response)
35
+ chart_item.position.should == 1
36
+ chart_item.change.should == :up
37
+ chart_item.item.id.should == 932151
38
+ chart_item.item.class.should == Sevendigital::Release
39
+ end
40
+
41
+ it "should digest track chart item" do
42
+
43
+ xml_response = load_sample_object_xml("track_chart_item")
44
+
45
+ chart_item = @chart_item_digestor.from_xml(xml_response)
46
+ chart_item.position.should == 99
47
+ chart_item.change.should == :down
48
+ chart_item.item.id.should == 2825304
49
+ chart_item.item.class.should == Sevendigital::Track
50
+ end
51
+
52
+
53
53
  end
@@ -1,41 +1,41 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
2
-
3
- describe "DownloadUrlDigestor" do
4
-
5
- before do
6
- @download_url_digestor = Sevendigital::DownloadUrlDigestor.new(Sevendigital::Client.new(nil))
7
- end
8
-
9
- it "should not digest from invalid xml but throw up (exception)" do
10
-
11
- xml_response = <<XML
12
- <zzz id="17">
13
- <fileFormat>MP3</fileFormat>
14
- <bitRate>320</bitRate>
15
- <drmFree>True</drmFree>
16
- </zzz>
17
- XML
18
-
19
- running {@download_url_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
- end
21
-
22
- it "should parse from xml and populate all properties" do
23
-
24
- xml_response = <<XML
25
- <downloadUrl>
26
- <url>http://media3.7digital.com/media/user/downloadtrack?</url>
27
- <format id="17">
28
- <fileFormat>MP3</fileFormat>
29
- <bitRate>320</bitRate>
30
- <drmFree>true</drmFree>
31
- </format>
32
- </downloadUrl>
33
- XML
34
-
35
- download_url = @download_url_digestor.from_xml(xml_response)
36
- download_url.url.should == "http://media3.7digital.com/media/user/downloadtrack?"
37
- download_url.format.id.should == 17
38
- download_url.format.file_format.should == :MP3
39
- end
40
-
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe "DownloadUrlDigestor" do
4
+
5
+ before do
6
+ @download_url_digestor = Sevendigital::DownloadUrlDigestor.new(Sevendigital::Client.new(nil))
7
+ end
8
+
9
+ it "should not digest from invalid xml but throw up (exception)" do
10
+
11
+ xml_response = <<XML
12
+ <zzz id="17">
13
+ <fileFormat>MP3</fileFormat>
14
+ <bitRate>320</bitRate>
15
+ <drmFree>True</drmFree>
16
+ </zzz>
17
+ XML
18
+
19
+ running {@download_url_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
+ end
21
+
22
+ it "should parse from xml and populate all properties" do
23
+
24
+ xml_response = <<XML
25
+ <downloadUrl>
26
+ <url>http://media3.7digital.com/media/user/downloadtrack?</url>
27
+ <format id="17">
28
+ <fileFormat>MP3</fileFormat>
29
+ <bitRate>320</bitRate>
30
+ <drmFree>true</drmFree>
31
+ </format>
32
+ </downloadUrl>
33
+ XML
34
+
35
+ download_url = @download_url_digestor.from_xml(xml_response)
36
+ download_url.url.should == "http://media3.7digital.com/media/user/downloadtrack?"
37
+ download_url.format.id.should == 17
38
+ download_url.format.file_format.should == :MP3
39
+ end
40
+
41
41
  end
@@ -1,39 +1,39 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
2
-
3
- describe "FormatDigestor" do
4
-
5
- before do
6
- @format_digestor = Sevendigital::FormatDigestor.new(nil)
7
- end
8
-
9
- it "should not digest from invalid xml but throw up (exception)" do
10
-
11
- xml_response = <<XML
12
- <zzz id="17">
13
- <fileFormat>MP3</fileFormat>
14
- <bitRate>320</bitRate>
15
- <drmFree>True</drmFree>
16
- </zzz>
17
- XML
18
-
19
- running {@format_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
- end
21
-
22
- it "should parse from xml and populate all properties" do
23
-
24
- xml_response = <<XML
25
- <format id="17">
26
- <fileFormat>MP3</fileFormat>
27
- <bitRate>320</bitRate>
28
- <drmFree>True</drmFree>
29
- </format>
30
- XML
31
-
32
- format = @format_digestor.from_xml(xml_response)
33
- format.id.should == 17
34
- format.file_format.should == :MP3
35
- format.bit_rate.should == 320
36
- format.drm_free.should == true
37
- end
38
-
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe "FormatDigestor" do
4
+
5
+ before do
6
+ @format_digestor = Sevendigital::FormatDigestor.new(nil)
7
+ end
8
+
9
+ it "should not digest from invalid xml but throw up (exception)" do
10
+
11
+ xml_response = <<XML
12
+ <zzz id="17">
13
+ <fileFormat>MP3</fileFormat>
14
+ <bitRate>320</bitRate>
15
+ <drmFree>True</drmFree>
16
+ </zzz>
17
+ XML
18
+
19
+ running {@format_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
+ end
21
+
22
+ it "should parse from xml and populate all properties" do
23
+
24
+ xml_response = <<XML
25
+ <format id="17">
26
+ <fileFormat>MP3</fileFormat>
27
+ <bitRate>320</bitRate>
28
+ <drmFree>True</drmFree>
29
+ </format>
30
+ XML
31
+
32
+ format = @format_digestor.from_xml(xml_response)
33
+ format.id.should == 17
34
+ format.file_format.should == :MP3
35
+ format.bit_rate.should == 320
36
+ format.drm_free.should == true
37
+ end
38
+
39
39
  end
@@ -1,34 +1,34 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
2
-
3
- describe "LabelDigestor" do
4
-
5
- before do
6
- @label_digestor = Sevendigital::LabelDigestor.new(nil)
7
- end
8
-
9
-
10
- it "should not digest from invalid xml but throw up (exception)" do
11
-
12
- xml_response = <<XML
13
- <release id="123">
14
- <name>expected artist name</name>
15
- </release>
16
- XML
17
-
18
- running {@label_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
19
- end
20
-
21
- it "should digest label xml and populate all properties" do
22
-
23
- xml_response = <<XML
24
- <label id="123">
25
- <name>expected label name</name>
26
- </label>
27
- XML
28
-
29
- label = @label_digestor.from_xml(xml_response)
30
- label.id.should == 123
31
- label.name.should == "expected label name"
32
- end
33
-
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe "LabelDigestor" do
4
+
5
+ before do
6
+ @label_digestor = Sevendigital::LabelDigestor.new(nil)
7
+ end
8
+
9
+
10
+ it "should not digest from invalid xml but throw up (exception)" do
11
+
12
+ xml_response = <<XML
13
+ <release id="123">
14
+ <name>expected artist name</name>
15
+ </release>
16
+ XML
17
+
18
+ running {@label_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
19
+ end
20
+
21
+ it "should digest label xml and populate all properties" do
22
+
23
+ xml_response = <<XML
24
+ <label id="123">
25
+ <name>expected label name</name>
26
+ </label>
27
+ XML
28
+
29
+ label = @label_digestor.from_xml(xml_response)
30
+ label.id.should == 123
31
+ label.name.should == "expected label name"
32
+ end
33
+
34
34
  end
@@ -1,31 +1,31 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
2
-
3
- describe "LockerDigestor" do
4
-
5
- before do
6
- @locker_digestor = Sevendigital::LockerDigestor.new(Sevendigital::Client.new(nil))
7
- end
8
-
9
- it "should not digest from invalid xml but throw up (exception)" do
10
-
11
- xml_response = <<XML
12
- <zzz id="17">
13
- <fileFormat>MP3</fileFormat>
14
- <bitRate>320</bitRate>
15
- <drmFree>True</drmFree>
16
- </zzz>
17
- XML
18
-
19
- running {@locker_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
- end
21
-
22
- it "should parse from xml and populate all properties" do
23
-
24
- xml_response = load_sample_object_xml("locker")
25
-
26
- locker = @locker_digestor.from_xml(xml_response)
27
- locker.locker_releases.size.should == 1
28
- locker.locker_releases[0].release.id.should == 302123
29
- end
30
-
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe "LockerDigestor" do
4
+
5
+ before do
6
+ @locker_digestor = Sevendigital::LockerDigestor.new(Sevendigital::Client.new(nil))
7
+ end
8
+
9
+ it "should not digest from invalid xml but throw up (exception)" do
10
+
11
+ xml_response = <<XML
12
+ <zzz id="17">
13
+ <fileFormat>MP3</fileFormat>
14
+ <bitRate>320</bitRate>
15
+ <drmFree>True</drmFree>
16
+ </zzz>
17
+ XML
18
+
19
+ running {@locker_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
+ end
21
+
22
+ it "should parse from xml and populate all properties" do
23
+
24
+ xml_response = load_sample_object_xml("locker")
25
+
26
+ locker = @locker_digestor.from_xml(xml_response)
27
+ locker.locker_releases.size.should == 1
28
+ locker.locker_releases[0].release.id.should == 302123
29
+ end
30
+
31
31
  end
@@ -1,70 +1,70 @@
1
- # coding: utf-8
2
- require 'date'
3
- require File.expand_path('../../spec_helper', __FILE__)
4
-
5
- describe "LockerReleaseDigestor" do
6
-
7
- before do
8
- @locker_release_digestor = Sevendigital::LockerReleaseDigestor.new(Sevendigital::Client.new(nil))
9
- end
10
-
11
- it "should not digest from invalid xml but throw up (exception)" do
12
-
13
- xml_response = <<XML
14
- <artist id="123">
15
- <name>expected artist name</name>
16
- </artist>
17
- XML
18
-
19
- running {@locker_release_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
- end
21
-
22
- it "should digest locker release xml and populate all available properties" do
23
-
24
- xml_response = load_sample_object_xml("locker_release")
25
-
26
- locker_release = @locker_release_digestor.from_xml(xml_response)
27
-
28
- locker_release.release.id.should == 302123
29
- locker_release.release.title.should == "Original Album Classics"
30
- locker_release.locker_tracks.size.should == 1
31
- locker_release.locker_tracks[0].track.id.should == 3544116
32
- locker_release.locker_tracks[0].track.title.should == "Gloria"
33
- locker_release.locker_tracks[0].remaining_downloads.should == 355
34
- locker_release.locker_tracks[0].download_urls[0].url.should == "http://media3.7digital.com/media/user/downloadtrack?"
35
-
36
- end
37
-
38
- it "should digest xml containing list of locker releases and return a paginated array" do
39
-
40
- xml_response = load_sample_object_xml("locker_release_list")
41
-
42
- locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
43
- locker_releases[0].release.id.should == 302123
44
- locker_releases[0].locker_tracks[0].track.id.should == 3544116
45
- locker_releases.size.should == 2
46
- locker_releases.total_entries.should == 50
47
-
48
- end
49
-
50
- it "should digest xml containing single item list of locker releases and return a paginated array" do
51
-
52
- xml_response = load_sample_object_xml("locker_release_one_item_list")
53
-
54
- locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
55
- locker_releases[0].release.id.should == 302123
56
- locker_releases[0].locker_tracks[0].track.id.should == 3544116
57
- locker_releases.size.should == 1
58
- end
59
-
60
- it "should digest xml containing empty list of locker releases and return an empty paginated array" do
61
-
62
- xml_response = load_sample_object_xml("locker_release_list_empty")
63
-
64
- locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
65
- locker_releases.size.should == 0
66
- locker_releases.total_entries.should == 0
67
-
68
- end
69
-
70
- end
1
+ # coding: utf-8
2
+ require 'date'
3
+ require File.expand_path('../../spec_helper', __FILE__)
4
+
5
+ describe "LockerReleaseDigestor" do
6
+
7
+ before do
8
+ @locker_release_digestor = Sevendigital::LockerReleaseDigestor.new(Sevendigital::Client.new(nil))
9
+ end
10
+
11
+ it "should not digest from invalid xml but throw up (exception)" do
12
+
13
+ xml_response = <<XML
14
+ <artist id="123">
15
+ <name>expected artist name</name>
16
+ </artist>
17
+ XML
18
+
19
+ running {@locker_release_digestor.from_xml(xml_response)}.should raise_error(Sevendigital::DigestiveProblem)
20
+ end
21
+
22
+ it "should digest locker release xml and populate all available properties" do
23
+
24
+ xml_response = load_sample_object_xml("locker_release")
25
+
26
+ locker_release = @locker_release_digestor.from_xml(xml_response)
27
+
28
+ locker_release.release.id.should == 302123
29
+ locker_release.release.title.should == "Original Album Classics"
30
+ locker_release.locker_tracks.size.should == 1
31
+ locker_release.locker_tracks[0].track.id.should == 3544116
32
+ locker_release.locker_tracks[0].track.title.should == "Gloria"
33
+ locker_release.locker_tracks[0].remaining_downloads.should == 355
34
+ locker_release.locker_tracks[0].download_urls[0].url.should == "http://media3.7digital.com/media/user/downloadtrack?"
35
+
36
+ end
37
+
38
+ it "should digest xml containing list of locker releases and return a paginated array" do
39
+
40
+ xml_response = load_sample_object_xml("locker_release_list")
41
+
42
+ locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
43
+ locker_releases[0].release.id.should == 302123
44
+ locker_releases[0].locker_tracks[0].track.id.should == 3544116
45
+ locker_releases.size.should == 2
46
+ locker_releases.total_entries.should == 50
47
+
48
+ end
49
+
50
+ it "should digest xml containing single item list of locker releases and return a paginated array" do
51
+
52
+ xml_response = load_sample_object_xml("locker_release_one_item_list")
53
+
54
+ locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
55
+ locker_releases[0].release.id.should == 302123
56
+ locker_releases[0].locker_tracks[0].track.id.should == 3544116
57
+ locker_releases.size.should == 1
58
+ end
59
+
60
+ it "should digest xml containing empty list of locker releases and return an empty paginated array" do
61
+
62
+ xml_response = load_sample_object_xml("locker_release_list_empty")
63
+
64
+ locker_releases = @locker_release_digestor.list_from_xml(xml_response, :locker_releases)
65
+ locker_releases.size.should == 0
66
+ locker_releases.total_entries.should == 0
67
+
68
+ end
69
+
70
+ end