spree 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree might be problematic. Click here for more details.

Files changed (722) hide show
  1. data/CHANGELOG +457 -425
  2. data/{README.markdown → README.md} +4 -0
  3. data/Rakefile +2 -2
  4. data/app/controllers/admin/adjustments_controller.rb +8 -9
  5. data/app/controllers/admin/checkouts_controller.rb +10 -2
  6. data/app/controllers/admin/line_items_controller.rb +0 -1
  7. data/app/controllers/admin/payments_controller.rb +8 -7
  8. data/app/controllers/admin/shipments_controller.rb +1 -1
  9. data/app/controllers/checkouts_controller.rb +16 -5
  10. data/app/controllers/spree/base_controller.rb +2 -2
  11. data/app/helpers/admin/navigation_helper.rb +1 -1
  12. data/app/helpers/checkouts_helper.rb +1 -1
  13. data/app/helpers/products_helper.rb +1 -1
  14. data/app/helpers/taxons_helper.rb +1 -1
  15. data/app/models/address.rb +9 -0
  16. data/app/models/checkout.rb +13 -7
  17. data/app/models/creditcard.rb +2 -2
  18. data/app/models/model_cache_cleaner.rb +13 -0
  19. data/app/models/order.rb +6 -8
  20. data/app/models/payment.rb +18 -17
  21. data/app/models/payment_method.rb +2 -2
  22. data/app/models/product.rb +1 -2
  23. data/app/models/return_authorization.rb +3 -1
  24. data/app/models/shipping_method.rb +16 -6
  25. data/app/models/zone.rb +34 -3
  26. data/config/database.yml +4 -21
  27. data/config/environment.rb +6 -6
  28. data/config/environments/test.rb +1 -0
  29. data/config/locales/en_spree.yml +10 -9
  30. data/db/migrate/20100624110730_add_display_to_shipping_methods.rb +9 -0
  31. data/db/migrate/20100624123336_rename_payment_method_display.rb +9 -0
  32. data/db/sample/orders.yml +3 -3
  33. data/db/sample/payments.rb +6 -5
  34. data/db/sample/products.rb +2 -2
  35. data/db/schema.rb +9 -27
  36. data/lib/easy_role_requirement_system.rb +1 -1
  37. data/lib/generators/extension/extension_generator.rb +7 -22
  38. data/lib/generators/extension/templates/functional_test.rb +1 -1
  39. data/lib/generators/extension/templates/tasks.rake +2 -2
  40. data/lib/generators/extension_controller/extension_controller_generator.rb +1 -1
  41. data/lib/generators/extension_model/extension_model_generator.rb +1 -1
  42. data/lib/generators/instance/instance_generator.rb +24 -24
  43. data/lib/generators/instance/templates/instance_generate +1 -1
  44. data/lib/generators/theme/theme_generator.rb +6 -10
  45. data/lib/plugins/extension_patches/lib/asset_copy.rb +2 -2
  46. data/lib/spree.rb +1 -1
  47. data/lib/spree/initializer.rb +15 -15
  48. data/lib/spree/search.rb +1 -1
  49. data/lib/tasks/cucumber.rake +1 -1
  50. data/lib/tasks/extensions.rake +6 -6
  51. data/lib/tasks/framework.rake +1 -1
  52. data/lib/tasks/instance.rake +6 -6
  53. data/lib/validation_group.rb +16 -16
  54. data/script/extension +2 -2
  55. data/test/functional/products_controller_test.rb +13 -0
  56. data/test/test_helper.rb +1 -1
  57. data/test/unit/checkout_test.rb +18 -9
  58. data/vendor/extensions/README +1 -1
  59. data/vendor/extensions/api/Rakefile +2 -2
  60. data/vendor/extensions/api/lib/tasks/api_extension_tasks.rake +2 -2
  61. data/vendor/extensions/overview_dashboard/Rakefile +2 -2
  62. data/vendor/extensions/overview_dashboard/app/views/admin/overview/index.html.erb +5 -5
  63. data/vendor/extensions/overview_dashboard/lib/tasks/overview_dashboard_extension_tasks.rake +2 -2
  64. data/vendor/extensions/payment_gateway/Rakefile +2 -2
  65. data/vendor/extensions/payment_gateway/app/models/gateway/authorize_net_cim.rb +6 -2
  66. data/vendor/extensions/payment_gateway/app/models/gateway/braintree.rb +88 -0
  67. data/vendor/extensions/payment_gateway/config/locales/en.yml +2 -1
  68. data/vendor/extensions/payment_gateway/lib/active_merchant/billing/authorize_net_cim.rb +4 -2
  69. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +1 -1
  70. data/vendor/extensions/payment_gateway/lib/tasks/payment_gateway_extension_tasks.rake +2 -2
  71. data/vendor/extensions/payment_gateway/payment_gateway_extension.rb +1 -0
  72. data/vendor/extensions/payment_gateway/test/unit/authorize_net_cim_test.rb +2 -1
  73. data/vendor/extensions/payment_gateway/test/unit/braintree_test.rb +200 -0
  74. data/vendor/extensions/theme_default/Rakefile +2 -2
  75. data/vendor/extensions/theme_default/app/stylesheets/_buttons.less +7 -2
  76. data/vendor/extensions/theme_default/app/stylesheets/_colors.less +1 -1
  77. data/vendor/extensions/theme_default/app/stylesheets/_layout.less +7 -2
  78. data/vendor/extensions/theme_default/app/views/admin/payment_methods/_form.html.erb +3 -4
  79. data/vendor/extensions/theme_default/app/views/admin/payment_methods/index.html.erb +1 -1
  80. data/vendor/extensions/theme_default/app/views/admin/shared/_additional_field.html.erb +1 -1
  81. data/vendor/extensions/theme_default/app/views/admin/shared/_calculator_fields.html.erb +6 -6
  82. data/vendor/extensions/theme_default/app/views/admin/shared/_configuration_menu.html.erb +13 -13
  83. data/vendor/extensions/theme_default/app/views/admin/shared/_product_tabs.html.erb +1 -1
  84. data/vendor/extensions/theme_default/app/views/admin/shipping_methods/_form.html.erb +6 -0
  85. data/vendor/extensions/theme_default/app/views/admin/shipping_methods/index.html.erb +2 -0
  86. data/vendor/extensions/theme_default/app/views/checkouts/_address.html.erb +7 -9
  87. data/vendor/extensions/theme_default/app/views/checkouts/_payment.html.erb +4 -4
  88. data/vendor/extensions/theme_default/app/views/checkouts/_summary.html.erb +4 -4
  89. data/vendor/extensions/theme_default/app/views/layouts/admin.html.erb +36 -35
  90. data/vendor/extensions/theme_default/app/views/products/_thumbnails.html.erb +1 -1
  91. data/vendor/extensions/theme_default/app/views/shared/_head.html.erb +2 -2
  92. data/vendor/extensions/theme_default/app/views/shared/_products.html.erb +1 -1
  93. data/vendor/extensions/theme_default/app/views/states/index.js.erb +1 -1
  94. data/vendor/extensions/theme_default/lib/tasks/theme_default_extension_tasks.rake +2 -2
  95. data/vendor/extensions/theme_default/public/favicon.ico +0 -0
  96. data/vendor/extensions/theme_default/public/images/admin/bg/header.png +0 -0
  97. data/vendor/extensions/theme_default/public/javascripts/calculator.js +3 -1
  98. data/vendor/extensions/theme_default/public/javascripts/checkout.js +44 -18
  99. data/vendor/extensions/theme_default/public/stylesheets/admin/admin.css +29 -24
  100. data/vendor/extensions/theme_default/public/stylesheets/screen.css +9 -7
  101. data/vendor/plugins/attribute_fu/init.rb +2 -2
  102. data/vendor/plugins/delegate_belongs_to/spec/spec_helper.rb +1 -1
  103. data/vendor/plugins/jrails/install.rb +1 -1
  104. data/vendor/plugins/jrails/lib/tasks/jrails.rake +2 -2
  105. data/vendor/plugins/jrails_auto_complete/install.rb +1 -1
  106. data/vendor/plugins/jrails_auto_complete/uninstall.rb +1 -1
  107. data/vendor/plugins/open_id_authentication/lib/open_id_authentication.rb +1 -1
  108. metadata +59 -659
  109. data/lib/generators/extension/templates/RSpecRakefile +0 -137
  110. data/lib/generators/extension/templates/spec.opts +0 -6
  111. data/lib/generators/extension/templates/spec_helper.rb +0 -37
  112. data/lib/generators/extension_controller/templates/controller_spec.rb +0 -23
  113. data/lib/generators/extension_controller/templates/helper_spec.rb +0 -11
  114. data/lib/generators/extension_controller/templates/view_spec.rb +0 -12
  115. data/lib/generators/extension_model/templates/model_spec.rb +0 -11
  116. data/lib/tasks/rspec.rake +0 -182
  117. data/public/images/add-to-cart.png +0 -0
  118. data/public/images/admin/bg/active-tab.png +0 -0
  119. data/public/images/admin/bg/admin_tab_back.png +0 -0
  120. data/public/images/admin/bg/admin_tab_selected_back.png +0 -0
  121. data/public/images/admin/bg/content-back-blue.png +0 -0
  122. data/public/images/admin/bg/content-back-green.png +0 -0
  123. data/public/images/admin/bg/content-back.png +0 -0
  124. data/public/images/admin/bg/flash-error.png +0 -0
  125. data/public/images/admin/bg/flash-notice.png +0 -0
  126. data/public/images/admin/bg/green-stripes.gif +0 -0
  127. data/public/images/admin/bg/green-stripes.png +0 -0
  128. data/public/images/admin/bg/grid_header_back.png +0 -0
  129. data/public/images/admin/bg/grid_header_back_green.png +0 -0
  130. data/public/images/admin/bg/header-bg.png +0 -0
  131. data/public/images/admin/bg/header_bg.jpg +0 -0
  132. data/public/images/admin/bg/menu-current.png +0 -0
  133. data/public/images/admin/bg/red-stripes.gif +0 -0
  134. data/public/images/admin/bg/red-stripes.png +0 -0
  135. data/public/images/admin/bg/spree_50.png +0 -0
  136. data/public/images/admin/bg/subnav-divider.png +0 -0
  137. data/public/images/admin/bg/subnav.png +0 -0
  138. data/public/images/admin/bg/tab-back.png +0 -0
  139. data/public/images/admin/buttons/blue/left_01.png +0 -0
  140. data/public/images/admin/buttons/blue/right_01.png +0 -0
  141. data/public/images/admin/buttons/drag-handle-green.png +0 -0
  142. data/public/images/admin/buttons/green/left_01.png +0 -0
  143. data/public/images/admin/buttons/green/right_01.png +0 -0
  144. data/public/images/admin/buttons/left_01.png +0 -0
  145. data/public/images/admin/buttons/left_01_small.png +0 -0
  146. data/public/images/admin/buttons/orange/left_03.png +0 -0
  147. data/public/images/admin/buttons/orange/right_03.png +0 -0
  148. data/public/images/admin/buttons/right_01.png +0 -0
  149. data/public/images/admin/buttons/right_01_small.png +0 -0
  150. data/public/images/admin/icons/16x16/1.png +0 -0
  151. data/public/images/admin/icons/16x16/10.png +0 -0
  152. data/public/images/admin/icons/16x16/2.png +0 -0
  153. data/public/images/admin/icons/16x16/3.png +0 -0
  154. data/public/images/admin/icons/16x16/4.png +0 -0
  155. data/public/images/admin/icons/16x16/5.png +0 -0
  156. data/public/images/admin/icons/16x16/6.png +0 -0
  157. data/public/images/admin/icons/16x16/7.png +0 -0
  158. data/public/images/admin/icons/16x16/8.png +0 -0
  159. data/public/images/admin/icons/16x16/9.png +0 -0
  160. data/public/images/admin/icons/32x32/1.png +0 -0
  161. data/public/images/admin/icons/32x32/10.png +0 -0
  162. data/public/images/admin/icons/32x32/11.png +0 -0
  163. data/public/images/admin/icons/32x32/2.png +0 -0
  164. data/public/images/admin/icons/32x32/3.png +0 -0
  165. data/public/images/admin/icons/32x32/4.png +0 -0
  166. data/public/images/admin/icons/32x32/5.png +0 -0
  167. data/public/images/admin/icons/32x32/6.png +0 -0
  168. data/public/images/admin/icons/32x32/7.png +0 -0
  169. data/public/images/admin/icons/32x32/8.png +0 -0
  170. data/public/images/admin/icons/32x32/9.png +0 -0
  171. data/public/images/admin/icons/accept.png +0 -0
  172. data/public/images/admin/icons/add.gif +0 -0
  173. data/public/images/admin/icons/add.png +0 -0
  174. data/public/images/admin/icons/arrow-down.gif +0 -0
  175. data/public/images/admin/icons/cross.png +0 -0
  176. data/public/images/admin/icons/delete.gif +0 -0
  177. data/public/images/admin/icons/delete.png +0 -0
  178. data/public/images/admin/icons/drag.gif +0 -0
  179. data/public/images/admin/icons/edit.gif +0 -0
  180. data/public/images/admin/icons/edit.png +0 -0
  181. data/public/images/admin/icons/email.png +0 -0
  182. data/public/images/admin/icons/error.png +0 -0
  183. data/public/images/admin/icons/exclamation.png +0 -0
  184. data/public/images/admin/icons/feed.png +0 -0
  185. data/public/images/admin/icons/pdf.png +0 -0
  186. data/public/images/admin/icons/reorder.gif +0 -0
  187. data/public/images/admin/icons/search.gif +0 -0
  188. data/public/images/admin/icons/send-email.png +0 -0
  189. data/public/images/admin/icons/stop.png +0 -0
  190. data/public/images/admin/icons/tick.png +0 -0
  191. data/public/images/admin/icons/up.gif +0 -0
  192. data/public/images/admin/icons/xls.png +0 -0
  193. data/public/images/admin/tabs/off-left.png +0 -0
  194. data/public/images/admin/tabs/off-right.png +0 -0
  195. data/public/images/admin/tabs/on-left.png +0 -0
  196. data/public/images/admin/tabs/on-right.png +0 -0
  197. data/public/images/ajax_loader.gif +0 -0
  198. data/public/images/amex_cid.gif +0 -0
  199. data/public/images/bg-button-hover.png +0 -0
  200. data/public/images/bg-button-pressed.png +0 -0
  201. data/public/images/bg-button.gif +0 -0
  202. data/public/images/bg-button.png +0 -0
  203. data/public/images/blue/left_01.png +0 -0
  204. data/public/images/blue/right_01.png +0 -0
  205. data/public/images/body-back.png +0 -0
  206. data/public/images/bottom_shine.png +0 -0
  207. data/public/images/breadcrumb.gif +0 -0
  208. data/public/images/button-dark-hover.png +0 -0
  209. data/public/images/button-dark.png +0 -0
  210. data/public/images/buttons/bg-button-hover.png +0 -0
  211. data/public/images/buttons/bg-button-pressed.png +0 -0
  212. data/public/images/buttons/bg-button.gif +0 -0
  213. data/public/images/buttons/bg-button.png +0 -0
  214. data/public/images/buttons/blue/left_01.png +0 -0
  215. data/public/images/buttons/blue/right_01.png +0 -0
  216. data/public/images/buttons/button-dark-hover.png +0 -0
  217. data/public/images/buttons/button-dark.png +0 -0
  218. data/public/images/buttons/drag-handle-green.png +0 -0
  219. data/public/images/buttons/green/left_01.png +0 -0
  220. data/public/images/buttons/green/right_01.png +0 -0
  221. data/public/images/buttons/left_01.png +0 -0
  222. data/public/images/buttons/left_01_small.png +0 -0
  223. data/public/images/buttons/orange/left_03.png +0 -0
  224. data/public/images/buttons/orange/right_03.png +0 -0
  225. data/public/images/buttons/right_01.png +0 -0
  226. data/public/images/buttons/right_01_small.png +0 -0
  227. data/public/images/buttons/sxsw-ribbon-v1.png +0 -0
  228. data/public/images/buttons/top-shine.png +0 -0
  229. data/public/images/calendar_date_select/calendar.gif +0 -0
  230. data/public/images/cart-empty.png +0 -0
  231. data/public/images/cart-empty_x32.png +0 -0
  232. data/public/images/cart-full.png +0 -0
  233. data/public/images/cart-full_x32.png +0 -0
  234. data/public/images/checkout.png +0 -0
  235. data/public/images/creditcard.gif +0 -0
  236. data/public/images/datepicker/backstripes.gif +0 -0
  237. data/public/images/datepicker/bg_header.jpg +0 -0
  238. data/public/images/datepicker/bullet1.gif +0 -0
  239. data/public/images/datepicker/bullet2.gif +0 -0
  240. data/public/images/datepicker/cal.gif +0 -0
  241. data/public/images/datepicker/gradient-e5e5e5-ffffff.gif +0 -0
  242. data/public/images/discover_cid.gif +0 -0
  243. data/public/images/drag-handle-green.png +0 -0
  244. data/public/images/flags/ad.png +0 -0
  245. data/public/images/flags/ae.png +0 -0
  246. data/public/images/flags/af.png +0 -0
  247. data/public/images/flags/ag.png +0 -0
  248. data/public/images/flags/ai.png +0 -0
  249. data/public/images/flags/al.png +0 -0
  250. data/public/images/flags/am.png +0 -0
  251. data/public/images/flags/an.png +0 -0
  252. data/public/images/flags/ao.png +0 -0
  253. data/public/images/flags/ar.png +0 -0
  254. data/public/images/flags/as.png +0 -0
  255. data/public/images/flags/at.png +0 -0
  256. data/public/images/flags/au.png +0 -0
  257. data/public/images/flags/aw.png +0 -0
  258. data/public/images/flags/ax.png +0 -0
  259. data/public/images/flags/az.png +0 -0
  260. data/public/images/flags/ba.png +0 -0
  261. data/public/images/flags/bb.png +0 -0
  262. data/public/images/flags/bd.png +0 -0
  263. data/public/images/flags/be.png +0 -0
  264. data/public/images/flags/bf.png +0 -0
  265. data/public/images/flags/bg.png +0 -0
  266. data/public/images/flags/bh.png +0 -0
  267. data/public/images/flags/bi.png +0 -0
  268. data/public/images/flags/bj.png +0 -0
  269. data/public/images/flags/bm.png +0 -0
  270. data/public/images/flags/bn.png +0 -0
  271. data/public/images/flags/bo.png +0 -0
  272. data/public/images/flags/br.png +0 -0
  273. data/public/images/flags/bs.png +0 -0
  274. data/public/images/flags/bt.png +0 -0
  275. data/public/images/flags/bv.png +0 -0
  276. data/public/images/flags/bw.png +0 -0
  277. data/public/images/flags/by.png +0 -0
  278. data/public/images/flags/bz.png +0 -0
  279. data/public/images/flags/ca.png +0 -0
  280. data/public/images/flags/catalonia.png +0 -0
  281. data/public/images/flags/cc.png +0 -0
  282. data/public/images/flags/cd.png +0 -0
  283. data/public/images/flags/cf.png +0 -0
  284. data/public/images/flags/cg.png +0 -0
  285. data/public/images/flags/ch.png +0 -0
  286. data/public/images/flags/ci.png +0 -0
  287. data/public/images/flags/ck.png +0 -0
  288. data/public/images/flags/cl.png +0 -0
  289. data/public/images/flags/cm.png +0 -0
  290. data/public/images/flags/cn.png +0 -0
  291. data/public/images/flags/co.png +0 -0
  292. data/public/images/flags/cr.png +0 -0
  293. data/public/images/flags/cs.png +0 -0
  294. data/public/images/flags/cu.png +0 -0
  295. data/public/images/flags/cv.png +0 -0
  296. data/public/images/flags/cx.png +0 -0
  297. data/public/images/flags/cy.png +0 -0
  298. data/public/images/flags/cz.png +0 -0
  299. data/public/images/flags/da.png +0 -0
  300. data/public/images/flags/de.png +0 -0
  301. data/public/images/flags/de_CH.png +0 -0
  302. data/public/images/flags/dj.png +0 -0
  303. data/public/images/flags/dm.png +0 -0
  304. data/public/images/flags/do.png +0 -0
  305. data/public/images/flags/dz.png +0 -0
  306. data/public/images/flags/ec.png +0 -0
  307. data/public/images/flags/ee.png +0 -0
  308. data/public/images/flags/eg.png +0 -0
  309. data/public/images/flags/eh.png +0 -0
  310. data/public/images/flags/england.png +0 -0
  311. data/public/images/flags/er.png +0 -0
  312. data/public/images/flags/es.png +0 -0
  313. data/public/images/flags/et.png +0 -0
  314. data/public/images/flags/europeanunion.png +0 -0
  315. data/public/images/flags/fam.png +0 -0
  316. data/public/images/flags/fi.png +0 -0
  317. data/public/images/flags/fj.png +0 -0
  318. data/public/images/flags/fk.png +0 -0
  319. data/public/images/flags/fm.png +0 -0
  320. data/public/images/flags/fo.png +0 -0
  321. data/public/images/flags/fr.png +0 -0
  322. data/public/images/flags/ga.png +0 -0
  323. data/public/images/flags/gb.png +0 -0
  324. data/public/images/flags/gd.png +0 -0
  325. data/public/images/flags/ge.png +0 -0
  326. data/public/images/flags/gf.png +0 -0
  327. data/public/images/flags/gh.png +0 -0
  328. data/public/images/flags/gi.png +0 -0
  329. data/public/images/flags/gl.png +0 -0
  330. data/public/images/flags/gm.png +0 -0
  331. data/public/images/flags/gn.png +0 -0
  332. data/public/images/flags/gp.png +0 -0
  333. data/public/images/flags/gq.png +0 -0
  334. data/public/images/flags/gr.png +0 -0
  335. data/public/images/flags/gs.png +0 -0
  336. data/public/images/flags/gt.png +0 -0
  337. data/public/images/flags/gu.png +0 -0
  338. data/public/images/flags/gw.png +0 -0
  339. data/public/images/flags/gy.png +0 -0
  340. data/public/images/flags/hk.png +0 -0
  341. data/public/images/flags/hm.png +0 -0
  342. data/public/images/flags/hn.png +0 -0
  343. data/public/images/flags/hr.png +0 -0
  344. data/public/images/flags/ht.png +0 -0
  345. data/public/images/flags/hu.png +0 -0
  346. data/public/images/flags/id.png +0 -0
  347. data/public/images/flags/ie.png +0 -0
  348. data/public/images/flags/il.png +0 -0
  349. data/public/images/flags/in.png +0 -0
  350. data/public/images/flags/io.png +0 -0
  351. data/public/images/flags/iq.png +0 -0
  352. data/public/images/flags/ir.png +0 -0
  353. data/public/images/flags/is.png +0 -0
  354. data/public/images/flags/it.png +0 -0
  355. data/public/images/flags/jm.png +0 -0
  356. data/public/images/flags/jo.png +0 -0
  357. data/public/images/flags/jp.png +0 -0
  358. data/public/images/flags/ke.png +0 -0
  359. data/public/images/flags/kg.png +0 -0
  360. data/public/images/flags/kh.png +0 -0
  361. data/public/images/flags/ki.png +0 -0
  362. data/public/images/flags/km.png +0 -0
  363. data/public/images/flags/kn.png +0 -0
  364. data/public/images/flags/kp.png +0 -0
  365. data/public/images/flags/kr.png +0 -0
  366. data/public/images/flags/kw.png +0 -0
  367. data/public/images/flags/ky.png +0 -0
  368. data/public/images/flags/kz.png +0 -0
  369. data/public/images/flags/la.png +0 -0
  370. data/public/images/flags/lb.png +0 -0
  371. data/public/images/flags/lc.png +0 -0
  372. data/public/images/flags/li.png +0 -0
  373. data/public/images/flags/lk.png +0 -0
  374. data/public/images/flags/lr.png +0 -0
  375. data/public/images/flags/ls.png +0 -0
  376. data/public/images/flags/lt.png +0 -0
  377. data/public/images/flags/lu.png +0 -0
  378. data/public/images/flags/lv.png +0 -0
  379. data/public/images/flags/ly.png +0 -0
  380. data/public/images/flags/ma.png +0 -0
  381. data/public/images/flags/mc.png +0 -0
  382. data/public/images/flags/md.png +0 -0
  383. data/public/images/flags/me.png +0 -0
  384. data/public/images/flags/mg.png +0 -0
  385. data/public/images/flags/mh.png +0 -0
  386. data/public/images/flags/mk.png +0 -0
  387. data/public/images/flags/ml.png +0 -0
  388. data/public/images/flags/mm.png +0 -0
  389. data/public/images/flags/mn.png +0 -0
  390. data/public/images/flags/mo.png +0 -0
  391. data/public/images/flags/mp.png +0 -0
  392. data/public/images/flags/mq.png +0 -0
  393. data/public/images/flags/mr.png +0 -0
  394. data/public/images/flags/ms.png +0 -0
  395. data/public/images/flags/mt.png +0 -0
  396. data/public/images/flags/mu.png +0 -0
  397. data/public/images/flags/mv.png +0 -0
  398. data/public/images/flags/mw.png +0 -0
  399. data/public/images/flags/mx.png +0 -0
  400. data/public/images/flags/my.png +0 -0
  401. data/public/images/flags/mz.png +0 -0
  402. data/public/images/flags/na.png +0 -0
  403. data/public/images/flags/nc.png +0 -0
  404. data/public/images/flags/ne.png +0 -0
  405. data/public/images/flags/nf.png +0 -0
  406. data/public/images/flags/ng.png +0 -0
  407. data/public/images/flags/ni.png +0 -0
  408. data/public/images/flags/nl.png +0 -0
  409. data/public/images/flags/no.png +0 -0
  410. data/public/images/flags/np.png +0 -0
  411. data/public/images/flags/nr.png +0 -0
  412. data/public/images/flags/nu.png +0 -0
  413. data/public/images/flags/nz.png +0 -0
  414. data/public/images/flags/om.png +0 -0
  415. data/public/images/flags/pa.png +0 -0
  416. data/public/images/flags/pe.png +0 -0
  417. data/public/images/flags/pf.png +0 -0
  418. data/public/images/flags/pg.png +0 -0
  419. data/public/images/flags/ph.png +0 -0
  420. data/public/images/flags/pk.png +0 -0
  421. data/public/images/flags/pl.png +0 -0
  422. data/public/images/flags/pm.png +0 -0
  423. data/public/images/flags/pn.png +0 -0
  424. data/public/images/flags/pr.png +0 -0
  425. data/public/images/flags/ps.png +0 -0
  426. data/public/images/flags/pt.png +0 -0
  427. data/public/images/flags/pw.png +0 -0
  428. data/public/images/flags/py.png +0 -0
  429. data/public/images/flags/qa.png +0 -0
  430. data/public/images/flags/re.png +0 -0
  431. data/public/images/flags/ro.png +0 -0
  432. data/public/images/flags/rs.png +0 -0
  433. data/public/images/flags/ru.png +0 -0
  434. data/public/images/flags/rw.png +0 -0
  435. data/public/images/flags/sa.png +0 -0
  436. data/public/images/flags/sb.png +0 -0
  437. data/public/images/flags/sc.png +0 -0
  438. data/public/images/flags/scotland.png +0 -0
  439. data/public/images/flags/sd.png +0 -0
  440. data/public/images/flags/se.png +0 -0
  441. data/public/images/flags/sg.png +0 -0
  442. data/public/images/flags/sh.png +0 -0
  443. data/public/images/flags/si.png +0 -0
  444. data/public/images/flags/sj.png +0 -0
  445. data/public/images/flags/sk.png +0 -0
  446. data/public/images/flags/sl.png +0 -0
  447. data/public/images/flags/sm.png +0 -0
  448. data/public/images/flags/sn.png +0 -0
  449. data/public/images/flags/so.png +0 -0
  450. data/public/images/flags/sr.png +0 -0
  451. data/public/images/flags/st.png +0 -0
  452. data/public/images/flags/sv.png +0 -0
  453. data/public/images/flags/sy.png +0 -0
  454. data/public/images/flags/sz.png +0 -0
  455. data/public/images/flags/tc.png +0 -0
  456. data/public/images/flags/td.png +0 -0
  457. data/public/images/flags/tf.png +0 -0
  458. data/public/images/flags/tg.png +0 -0
  459. data/public/images/flags/th.png +0 -0
  460. data/public/images/flags/tj.png +0 -0
  461. data/public/images/flags/tk.png +0 -0
  462. data/public/images/flags/tl.png +0 -0
  463. data/public/images/flags/tm.png +0 -0
  464. data/public/images/flags/tn.png +0 -0
  465. data/public/images/flags/to.png +0 -0
  466. data/public/images/flags/tr.png +0 -0
  467. data/public/images/flags/tt.png +0 -0
  468. data/public/images/flags/tv.png +0 -0
  469. data/public/images/flags/tw.png +0 -0
  470. data/public/images/flags/tz.png +0 -0
  471. data/public/images/flags/ua.png +0 -0
  472. data/public/images/flags/ug.png +0 -0
  473. data/public/images/flags/um.png +0 -0
  474. data/public/images/flags/us.png +0 -0
  475. data/public/images/flags/uy.png +0 -0
  476. data/public/images/flags/uz.png +0 -0
  477. data/public/images/flags/va.png +0 -0
  478. data/public/images/flags/vc.png +0 -0
  479. data/public/images/flags/ve.png +0 -0
  480. data/public/images/flags/vg.png +0 -0
  481. data/public/images/flags/vi.png +0 -0
  482. data/public/images/flags/vn.png +0 -0
  483. data/public/images/flags/vu.png +0 -0
  484. data/public/images/flags/wales.png +0 -0
  485. data/public/images/flags/wf.png +0 -0
  486. data/public/images/flags/ws.png +0 -0
  487. data/public/images/flags/ye.png +0 -0
  488. data/public/images/flags/yt.png +0 -0
  489. data/public/images/flags/za.png +0 -0
  490. data/public/images/flags/zm.png +0 -0
  491. data/public/images/flags/zw.png +0 -0
  492. data/public/images/green/left_01.png +0 -0
  493. data/public/images/green/right_01.png +0 -0
  494. data/public/images/grid.png +0 -0
  495. data/public/images/left_01.png +0 -0
  496. data/public/images/left_01_small.png +0 -0
  497. data/public/images/master_cid.jpg +0 -0
  498. data/public/images/menu-current.png +0 -0
  499. data/public/images/menu-hover.png +0 -0
  500. data/public/images/noimage/mini.jpg +0 -0
  501. data/public/images/noimage/product.jpg +0 -0
  502. data/public/images/noimage/small.jpg +0 -0
  503. data/public/images/openid-inputicon.gif +0 -0
  504. data/public/images/orange/left_03.png +0 -0
  505. data/public/images/orange/right_03.png +0 -0
  506. data/public/images/progress.gif +0 -0
  507. data/public/images/rails.png +0 -0
  508. data/public/images/right_01.png +0 -0
  509. data/public/images/right_01_small.png +0 -0
  510. data/public/images/separator.png +0 -0
  511. data/public/images/shadow-top.png +0 -0
  512. data/public/images/shadow_top.png +0 -0
  513. data/public/images/spinner.gif +0 -0
  514. data/public/images/spree.jpg +0 -0
  515. data/public/images/spree/progress.gif +0 -0
  516. data/public/images/spree/spinner.gif +0 -0
  517. data/public/images/spree/spree.jpg +0 -0
  518. data/public/images/step-progress/completed-completed.gif +0 -0
  519. data/public/images/step-progress/completed-current.gif +0 -0
  520. data/public/images/step-progress/completed-first.gif +0 -0
  521. data/public/images/step-progress/current-first.gif +0 -0
  522. data/public/images/step-progress/current-incomplete.gif +0 -0
  523. data/public/images/step-progress/current-right.gif +0 -0
  524. data/public/images/step-progress/incomplete-incomplete.gif +0 -0
  525. data/public/images/step-progress/incomplete-right.gif +0 -0
  526. data/public/images/steps/1.png +0 -0
  527. data/public/images/steps/1_small.png +0 -0
  528. data/public/images/steps/2.png +0 -0
  529. data/public/images/steps/2_small.png +0 -0
  530. data/public/images/steps/3.png +0 -0
  531. data/public/images/steps/3_small.png +0 -0
  532. data/public/images/steps/4.png +0 -0
  533. data/public/images/steps/4_small.png +0 -0
  534. data/public/images/steps/5.png +0 -0
  535. data/public/images/steps/5_small.png +0 -0
  536. data/public/images/steps/6.png +0 -0
  537. data/public/images/steps/6_small.png +0 -0
  538. data/public/images/sxsw-ribbon-v1.png +0 -0
  539. data/public/images/tab_bottom.gif +0 -0
  540. data/public/images/tile-header.png +0 -0
  541. data/public/images/tile-slider.png +0 -0
  542. data/public/images/top-shine.png +0 -0
  543. data/public/images/tree-nav-icons/bullet.gif +0 -0
  544. data/public/images/tree-nav-icons/minus.gif +0 -0
  545. data/public/images/tree-nav-icons/plus.gif +0 -0
  546. data/public/images/tree-nav-icons/treeview-loading.gif +0 -0
  547. data/public/images/tree-nav-icons/treeview-sprite.gif +0 -0
  548. data/public/images/update.png +0 -0
  549. data/public/images/visa_cid.gif +0 -0
  550. data/public/images/wrapper-back-2.png +0 -0
  551. data/public/images/wrapper-back.png +0 -0
  552. data/public/images/yui-menubaritem_submenuindicator.png +0 -0
  553. data/public/images/yui-menubaritem_submenuindicator_disabled.png +0 -0
  554. data/public/images/yui-menuitem_checkbox.png +0 -0
  555. data/public/images/yui-menuitem_checkbox_disabled.png +0 -0
  556. data/public/images/yui-menuitem_submenuindicator.png +0 -0
  557. data/public/images/yui-menuitem_submenuindicator_disabled.png +0 -0
  558. data/public/images/yui-sprite.png +0 -0
  559. data/public/javascripts/additional-methods.js +0 -236
  560. data/public/javascripts/admin/address_states.js +0 -25
  561. data/public/javascripts/admin/checkouts/edit.js +0 -129
  562. data/public/javascripts/admin/orders/edit.js +0 -96
  563. data/public/javascripts/admin/orders/edit_form.js +0 -17
  564. data/public/javascripts/admin/payments/new.js +0 -9
  565. data/public/javascripts/admin/unobtrusive_handlers.js +0 -15
  566. data/public/javascripts/calculator.js +0 -13
  567. data/public/javascripts/checkout.js +0 -65
  568. data/public/javascripts/dashboard.js +0 -143
  569. data/public/javascripts/datepicker.js +0 -1445
  570. data/public/javascripts/gateway.js +0 -13
  571. data/public/javascripts/jqPlot/excanvas.min.js +0 -1
  572. data/public/javascripts/jqPlot/jquery.jqplot.min.js +0 -14
  573. data/public/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js +0 -14
  574. data/public/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js +0 -14
  575. data/public/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js +0 -14
  576. data/public/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js +0 -14
  577. data/public/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js +0 -14
  578. data/public/javascripts/jqPlot/plugins/jqplot.highlighter.min.js +0 -14
  579. data/public/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js +0 -14
  580. data/public/javascripts/jquery-1.3.2.min.js +0 -19
  581. data/public/javascripts/jquery-and-plugins.js +0 -36
  582. data/public/javascripts/jquery-ui.js +0 -188
  583. data/public/javascripts/jquery.alerts/images/help.gif +0 -0
  584. data/public/javascripts/jquery.alerts/images/important.gif +0 -0
  585. data/public/javascripts/jquery.alerts/images/info.gif +0 -0
  586. data/public/javascripts/jquery.alerts/images/title.gif +0 -0
  587. data/public/javascripts/jquery.alerts/jquery.alerts.css +0 -57
  588. data/public/javascripts/jquery.alerts/jquery.alerts.js +0 -235
  589. data/public/javascripts/jquery.alerts/jquery.alerts.spree.css +0 -30
  590. data/public/javascripts/jquery.autocomplete.min.js +0 -13
  591. data/public/javascripts/jquery.js +0 -19
  592. data/public/javascripts/jquery.suggest.js +0 -276
  593. data/public/javascripts/jquery.template.js +0 -255
  594. data/public/javascripts/jquery.validate.min.js +0 -16
  595. data/public/javascripts/jrails.autocomplete.js +0 -274
  596. data/public/javascripts/jrails.js +0 -1
  597. data/public/javascripts/jsTree/jquery.tree.js +0 -2058
  598. data/public/javascripts/jsTree/plugins/jquery.tree.contextmenu.js +0 -129
  599. data/public/javascripts/jsTree/themes/apple/bg.jpg +0 -0
  600. data/public/javascripts/jsTree/themes/apple/dot_for_ie.gif +0 -0
  601. data/public/javascripts/jsTree/themes/apple/icons.png +0 -0
  602. data/public/javascripts/jsTree/themes/apple/style.css +0 -34
  603. data/public/javascripts/jsTree/themes/apple/throbber.gif +0 -0
  604. data/public/javascripts/lang/af.js +0 -40
  605. data/public/javascripts/lang/ar.js +0 -50
  606. data/public/javascripts/lang/de.js +0 -40
  607. data/public/javascripts/lang/du.js +0 -40
  608. data/public/javascripts/lang/en.js +0 -42
  609. data/public/javascripts/lang/es.js +0 -41
  610. data/public/javascripts/lang/fi.js +0 -40
  611. data/public/javascripts/lang/fr.js +0 -44
  612. data/public/javascripts/lang/gr.js +0 -40
  613. data/public/javascripts/lang/he.js +0 -49
  614. data/public/javascripts/lang/it.js +0 -13
  615. data/public/javascripts/lang/nl.js +0 -40
  616. data/public/javascripts/lang/no.js +0 -40
  617. data/public/javascripts/lang/pt.js +0 -50
  618. data/public/javascripts/lang/ro.js +0 -40
  619. data/public/javascripts/lang/ru.js +0 -40
  620. data/public/javascripts/lang/sp.js +0 -40
  621. data/public/javascripts/lang/sv.js +0 -41
  622. data/public/javascripts/lang/ua.js +0 -40
  623. data/public/javascripts/localization/messages_cn.js +0 -24
  624. data/public/javascripts/localization/messages_cs.js +0 -23
  625. data/public/javascripts/localization/messages_da.js +0 -21
  626. data/public/javascripts/localization/messages_de.js +0 -21
  627. data/public/javascripts/localization/messages_es.js +0 -24
  628. data/public/javascripts/localization/messages_fr.js +0 -23
  629. data/public/javascripts/localization/messages_hu.js +0 -21
  630. data/public/javascripts/localization/messages_it.js +0 -26
  631. data/public/javascripts/localization/messages_kk.js +0 -23
  632. data/public/javascripts/localization/messages_nl.js +0 -23
  633. data/public/javascripts/localization/messages_no.js +0 -23
  634. data/public/javascripts/localization/messages_pl.js +0 -23
  635. data/public/javascripts/localization/messages_ptbr.js +0 -30
  636. data/public/javascripts/localization/messages_ro.js +0 -24
  637. data/public/javascripts/localization/messages_ru.js +0 -23
  638. data/public/javascripts/localization/messages_se.js +0 -23
  639. data/public/javascripts/localization/messages_sk.js +0 -21
  640. data/public/javascripts/localization/messages_tr.js +0 -24
  641. data/public/javascripts/localization/messages_tw.js +0 -24
  642. data/public/javascripts/localization/messages_ua.js +0 -24
  643. data/public/javascripts/nested-attribute.js +0 -25
  644. data/public/javascripts/open_id.js +0 -15
  645. data/public/javascripts/product.js +0 -49
  646. data/public/javascripts/spree.js +0 -53
  647. data/public/javascripts/taxonomy.js +0 -196
  648. data/public/javascripts/zone.js +0 -40
  649. data/public/stylesheets/admin/admin-forms.css +0 -159
  650. data/public/stylesheets/admin/admin-reset.css +0 -67
  651. data/public/stylesheets/admin/admin-tables.css +0 -39
  652. data/public/stylesheets/admin/admin-typography.css +0 -117
  653. data/public/stylesheets/admin/admin.css +0 -571
  654. data/public/stylesheets/admin/dashboard.css +0 -143
  655. data/public/stylesheets/admin/edit_checkouts.css +0 -57
  656. data/public/stylesheets/admin/edit_orders.css +0 -65
  657. data/public/stylesheets/admin/grids.css +0 -314
  658. data/public/stylesheets/admin/reset-fonts-grids-2-6-0.css +0 -7
  659. data/public/stylesheets/admin/yui-includes.css +0 -14
  660. data/public/stylesheets/datepicker.css +0 -263
  661. data/public/stylesheets/jquery.autocomplete.css +0 -48
  662. data/public/stylesheets/scaffold.css +0 -54
  663. data/public/stylesheets/screen.css +0 -1194
  664. data/script/autospec +0 -5
  665. data/script/breakpointer +0 -3
  666. data/script/performance/request +0 -3
  667. data/script/spec +0 -5
  668. data/script/spec_server +0 -125
  669. data/spec/controllers/admin/configurations_controller_spec.rb +0 -9
  670. data/spec/controllers/admin/mail_settings_controller_spec.rb +0 -24
  671. data/spec/controllers/admin/shipping_categories_controller_spec.rb +0 -10
  672. data/spec/controllers/admin/shipping_methods_controller_spec.rb +0 -10
  673. data/spec/controllers/countries_controller_spec.rb +0 -24
  674. data/spec/controllers/orders_controller_spec.rb +0 -35
  675. data/spec/controllers/products_controller_spec.rb +0 -16
  676. data/spec/controllers/states_controller_spec.rb +0 -18
  677. data/spec/controllers/taxons_controller_spec.rb +0 -18
  678. data/spec/fixtures/app_configurations.yml +0 -7
  679. data/spec/fixtures/countries.yml +0 -3
  680. data/spec/fixtures/gateways.yml +0 -8
  681. data/spec/fixtures/preferences.yml +0 -15
  682. data/spec/fixtures/roles.yml +0 -2
  683. data/spec/fixtures/states.yml +0 -2
  684. data/spec/fixtures/tax_categories.yml +0 -4
  685. data/spec/fixtures/users.yml +0 -5
  686. data/spec/fixtures/zone_members.yml +0 -7
  687. data/spec/fixtures/zones.yml +0 -4
  688. data/spec/lib/easy_role_requirement_system_spec.rb +0 -140
  689. data/spec/models/address_spec.rb +0 -79
  690. data/spec/models/app_configuration_spec.rb +0 -13
  691. data/spec/models/creditcard_payment_spec.rb +0 -17
  692. data/spec/models/creditcard_spec.rb +0 -43
  693. data/spec/models/inventory_unit_spec.rb +0 -18
  694. data/spec/models/option_type_spec.rb +0 -36
  695. data/spec/models/option_value_spec.rb +0 -39
  696. data/spec/models/order_spec.rb +0 -207
  697. data/spec/models/payment_sepc.rb +0 -29
  698. data/spec/models/product_option_type_spec.rb +0 -38
  699. data/spec/models/product_property_spec.rb +0 -29
  700. data/spec/models/property_spec.rb +0 -37
  701. data/spec/models/prototype_spec.rb +0 -35
  702. data/spec/models/shipment_spec.rb +0 -8
  703. data/spec/models/shipping_category_spec.rb +0 -8
  704. data/spec/models/shipping_order_spec.rb +0 -113
  705. data/spec/models/tax_category_spec.rb +0 -11
  706. data/spec/models/taxon_spec.rb +0 -50
  707. data/spec/models/taxonomy_spec.rb +0 -37
  708. data/spec/models/zone_member_spec.rb +0 -5
  709. data/spec/models/zone_spec.rb +0 -137
  710. data/spec/rcov.opts +0 -2
  711. data/spec/spec.opts +0 -4
  712. data/spec/spec_helper.rb +0 -79
  713. data/vendor/extensions/overview_dashboard/spec/spec.opts +0 -6
  714. data/vendor/extensions/overview_dashboard/spec/spec_helper.rb +0 -37
  715. data/vendor/extensions/payment_gateway/spec/helpers/admin/gateways_helper_spec.rb +0 -6
  716. data/vendor/extensions/payment_gateway/spec/models/creditcard_spec.rb +0 -15
  717. data/vendor/extensions/payment_gateway/spec/models/gateway_spec.rb +0 -11
  718. data/vendor/extensions/payment_gateway/spec/models/order_spec.rb +0 -45
  719. data/vendor/extensions/payment_gateway/spec/spec.opts +0 -6
  720. data/vendor/extensions/payment_gateway/spec/spec_helper.rb +0 -37
  721. data/vendor/extensions/theme_default/spec/spec.opts +0 -6
  722. data/vendor/extensions/theme_default/spec/spec_helper.rb +0 -37
@@ -1,29 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- describe Payment do
4
- before(:each) do
5
- @order = Order.new
6
- @order.checkout_complete = true
7
- @order.stub!(:total).and_return(100)
8
- @payment = CreditcardPayment.new(:order => @order)
9
- end
10
-
11
- describe "save hook" do
12
- it "should mark order as paid if payment_total = total" do
13
- @order.stub!(:payment_total).and_return(100)
14
- @order.should_receive(:pay!)
15
- @payment.save
16
- end
17
- it "should mark order as paid if payment_total > total" do
18
- @order.stub!(:payment_total).and_return(101)
19
- @order.should_receive(:pay!)
20
- @payment.save
21
- end
22
- it "should not mark order as paid if payment_total < total" do
23
- @order.stub!(:payment_total).and_return(99)
24
- @order.should_not_receive(:pay!)
25
- @payment.save
26
- end
27
- end
28
-
29
- end
@@ -1,38 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module ProductOptionTypeSpecHelper
4
- def valid_product_option_type_attributes
5
- {
6
- :position => 1
7
- }
8
- end
9
- end
10
-
11
-
12
- describe ProductOptionType do
13
- include ProductOptionTypeSpecHelper
14
-
15
- before(:each) do
16
- @product_option_type = ProductOptionType.new
17
- end
18
-
19
- it "should not be valid when empty" do
20
- pending "Shouldn't it require a position?"
21
- @product_option_type.should_not be_valid
22
- end
23
-
24
- ['position'].each do |field|
25
- it "should require #{field}" do
26
- pending "Shouldn't it require a position?"
27
- @product_option_type.should_not be_valid
28
- @product_option_type.errors.full_messages.should include("#{field.intern.l(field).humanize} #{:error_message_blank.l}")
29
- end
30
- end
31
-
32
- it "should be valid when having correct information" do
33
- pending "Shouldn't it require a product and an option type too?"
34
- @product_option_type.attributes = valid_product_option_type_attributes
35
- @product_option_type.should be_valid
36
- end
37
-
38
- end
@@ -1,29 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module ProductPropertySpecHelper
4
- def valid_product_property_attributes
5
- {
6
- :value => "x"
7
- }
8
- end
9
- end
10
-
11
-
12
- describe ProductProperty do
13
- include ProductPropertySpecHelper
14
-
15
- before(:each) do
16
- @product_property = ProductProperty.new
17
- end
18
-
19
- it "should not be valid when empty" do
20
- @product_property.should_not be_valid
21
- end
22
-
23
- it "should be valid when having correct information" do
24
- pending "Shouldn't it require a product and a property too?"
25
- @product_property.attributes = valid_product_property_attributes
26
- @product_property.should be_valid
27
- end
28
-
29
- end
@@ -1,37 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module PropertySpecHelper
4
- def valid_property_attributes
5
- {
6
- :name => "a_property",
7
- :presentation => "A Property"
8
- }
9
- end
10
- end
11
-
12
- describe Property do
13
- include PropertySpecHelper
14
-
15
- before(:each) do
16
- @property = Property.new
17
- end
18
-
19
- it "should not be valid when empty" do
20
- @property.should_not be_valid
21
- end
22
-
23
- ['name', 'presentation'].each do |field|
24
- it "should require #{field}" do
25
- @property.should_not be_valid
26
- @property.errors.full_messages.should include("#{I18n.translate("activerecord.attributes.property.#{field}")} #{I18n.translate("activerecord.errors.messages.blank")}")
27
- end
28
- end
29
-
30
- it "should be valid when having correct information" do
31
- @property.attributes = valid_property_attributes
32
- @property.should be_valid
33
- end
34
-
35
- it "should find all by prototype"
36
-
37
- end
@@ -1,35 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module PrototypeSpecHelper
4
- def valid_prototype_attributes
5
- {
6
- :name => "A Prototype"
7
- }
8
- end
9
- end
10
-
11
-
12
- describe Prototype do
13
- include PrototypeSpecHelper
14
-
15
- before(:each) do
16
- @prototype = Prototype.new
17
- end
18
-
19
- it "should not be valid when empty" do
20
- @prototype.should_not be_valid
21
- end
22
-
23
- ['name'].each do |field|
24
- it "should require #{field}" do
25
- @prototype.should_not be_valid
26
- @prototype.errors.full_messages.should include("#{I18n.t("activerecord.attributes.prototype.#{field}")} #{I18n.t("activerecord.errors.messages.blank")}")
27
- end
28
- end
29
-
30
- it "should be valid when having correct information" do
31
- @prototype.attributes = valid_prototype_attributes
32
- @prototype.should be_valid
33
- end
34
-
35
- end
@@ -1,8 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- class MockCalculator
4
- end
5
-
6
- describe Shipment do
7
-
8
- end
@@ -1,8 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe ShippingCategory do
4
- before(:each) do
5
- @shipping_category = ShippingCategory.new
6
- end
7
-
8
- end
@@ -1,113 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- describe Order do
4
- before(:each) do
5
- @shipment = Shipment.new
6
- @inventory_unit = InventoryUnit.new(:state => "sold")
7
- @order = Order.new(:shipments => [@shipment], :inventory_units => [@inventory_unit]) #(:address => @address = mock_model(Address, :null_object => true))
8
- end
9
-
10
- # moved from order_spec (may not be correct or relevant)
11
- describe "ship" do
12
- before(:each) {@order.state = "paid"}
13
- it "should transition to shipped" do
14
- @order.ship
15
- @order.state.should == 'shipped'
16
- end
17
- it "should mark inventory as shipped" do
18
- pending "doesn't seem to cause transition on inv unit"
19
- @inventory_unit.should_receive(:ship!)
20
- @order.ship
21
- end
22
- end
23
-
24
- describe "shipping_countries" do
25
- it "should return an empty array if there are no shipping methods configured" do
26
- ShippingMethod.stub!(:all, :return => [])
27
- @order.shipping_countries.should == []
28
- end
29
- it "should contain only a single country even if multiple shipping methods are configured with that same country" do
30
- country = Country.new(:name => "foo")
31
- method1 = mock_model(ShippingMethod, :zone => mock_model(Zone, :country_list => [country]))
32
- method2 = mock_model(ShippingMethod, :zone => mock_model(Zone, :country_list => [country]))
33
- ShippingMethod.stub!(:all, :return => [method1, method2])
34
- @order.shipping_countries.should == [country]
35
- end
36
- it "should contain the unique list of countries that fall within at least one shipping method's zone" do
37
- country1 = Country.new(:name => "bar")
38
- country2 = Country.new(:name => "foo")
39
- method1 = mock_model(ShippingMethod, :zone => mock_model(Zone, :country_list => [country1]))
40
- method2 = mock_model(ShippingMethod, :zone => mock_model(Zone, :country_list => [country2]))
41
- ShippingMethod.stub!(:all, :return => [method1, method2])
42
- @order.shipping_countries.should == [country1, country2]
43
- end
44
- end
45
-
46
- describe "shipping_methods" do
47
- it "should return empty array if there are no shipping methods configured" do
48
- @order.shipping_methods.should == []
49
- end
50
- =begin (commented this out since we need to rework all of this shipping stuff as shoulda and it was failing )
51
- it "should check the shipping address against the shipping method's zone" do
52
- address = Address.new
53
- @order.ship_address = address
54
- zone = mock_model(Zone)
55
- method = mock_model(ShippingMethod, :zone => zone)
56
- ShippingMethod.stub!(:all, :return => [method])
57
- zone.should_receive(:include?).with(address)
58
- @order.shipping_methods
59
- end
60
- =end
61
- it "should return empty array if none of the configured shipping methods cover the shipping address" do
62
- method = mock_model(ShippingMethod, :zone => mock_model(Zone, :include? => false))
63
- ShippingMethod.stub!(:all, :return => [method])
64
- @order.shipping_methods.should == []
65
- end
66
- it "should return all shipping methiods that cover the shipping address" do
67
- method1 = mock_model(ShippingMethod, :zone => mock_model(Zone, :include? => true))
68
- method2 = mock_model(ShippingMethod, :zone => mock_model(Zone, :include? => true))
69
- method3 = mock_model(ShippingMethod, :zone => mock_model(Zone, :include? => false))
70
- ShippingMethod.stub!(:all, :return => [method1, method2, method3])
71
- pending "not investigated"
72
- @shipment.shipping_methods.should == [method1, method2]
73
- end
74
- end
75
-
76
- describe "state_machine in 'address' state" do
77
- before :each do
78
- @order.state = 'in_progress'
79
- end
80
- describe "when there are no shipping methods" do
81
- it "next! should transition to 'creditcard'" do
82
- pending "not investigated"
83
- @order.stub!(:shipping_methods).and_return([])
84
- @order.next!
85
- @order.state.should == "creditcard"
86
- end
87
- end
88
- describe "when there is more then one shipping method" do
89
- it "next! should transition to 'shipping_method'" do
90
- pending "not investigated"
91
- @order.state = "shipment"
92
- @order.stub!(:shipping_methods).and_return([ShippingMethod.new, ShippingMethod.new])
93
- @order.next!
94
- @order.state.should == "shipping_method"
95
- end
96
- end
97
- end
98
-
99
- describe "next!" do
100
- it "should transition from 'shipment' to 'shipping_method'" do
101
- pending "not investigated"
102
- @order.state = 'shipment'
103
- @order.next!
104
- @order.state.should == "shipping_method"
105
- end
106
- it "should transition from 'shipping_method' to 'creditcard'" do
107
- pending "not investigated"
108
- @order.state = 'shipping_method'
109
- @order.next!
110
- @order.state.should == "creditcard"
111
- end
112
- end
113
- end
@@ -1,11 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe TaxCategory do
4
- before(:each) do
5
- @tax_category = TaxCategory.new :name => 'dummy'
6
- end
7
-
8
- it "should be valid" do
9
- @tax_category.should be_valid
10
- end
11
- end
@@ -1,50 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module TaxonHelper
4
- def valid_taxon_attributes
5
- {
6
- :name => "A Taxon",
7
- :position => 1
8
- }
9
- end
10
- end
11
-
12
- describe Taxon do
13
- include TaxonHelper
14
-
15
- before(:each) do
16
- @taxonomy = Taxonomy.create(:name => "Test")
17
- @taxon = Taxon.new
18
- end
19
-
20
- it "should not be valid when empty" do
21
- pending "Can it really be valid when empty?"
22
- @taxon.should_not be_valid
23
- end
24
-
25
- ['name'].each do |field|
26
- it "should require #{field}" do
27
- pending "Is this field mandatory?"
28
- @taxon.should_not be_valid
29
- @taxon.errors.full_messages.should include("#{field.intern.l(field).humanize} #{:error_message_blank.l}")
30
- end
31
- end
32
-
33
- it "should be valid when having correct information" do
34
- @taxon.attributes = valid_taxon_attributes
35
-
36
- @taxon.should be_valid
37
- end
38
-
39
- it "should set the permalink on create" do
40
- @taxon = Taxon.create(:name => "foo", :taxonomy => @taxonomy)
41
- @taxon.permalink.should == "foo/"
42
- end
43
-
44
- it "should update the permalink on update" do
45
- @taxon = Taxon.create(:name => "foo", :taxonomy => @taxonomy)
46
- @taxon.update_attribute("name", "fooz")
47
- @taxon.permalink.should == "fooz/"
48
- end
49
-
50
- end
@@ -1,37 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module TaxonomyHelper
4
- def valid_taxonomy_attributes
5
- {
6
- :name => "A Taxonomy"
7
- }
8
- end
9
- end
10
-
11
- describe Taxonomy do
12
- include TaxonomyHelper
13
-
14
- before(:each) do
15
- @taxonomy = Taxonomy.new
16
- end
17
-
18
- it "should not be valid when empty" do
19
- pending "Can it really be valid when empty?"
20
- @taxonomy.should_not be_valid
21
- end
22
-
23
- ['name', 'root'].each do |field|
24
- it "should require #{field}" do
25
- pending "Is this field mandatory?"
26
- @taxonomy.should_not be_valid
27
- @taxonomy.errors.full_messages.should include("#{field.intern.l(field).humanize} #{:error_message_blank.l}")
28
- end
29
- end
30
-
31
- it "should be valid when having correct information" do
32
- @taxonomy.attributes = valid_taxonomy_attributes
33
-
34
- @taxonomy.should be_valid
35
- end
36
-
37
- end
@@ -1,5 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe ZoneMember do
4
-
5
- end
@@ -1,137 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Zone do
4
- before(:each) do
5
- # has_many_polymorphs requires that the record be saved before you create associations
6
- @zone = Zone.create(:name => "foo", :description => "foofah")
7
- end
8
-
9
- describe "#kind" do
10
- it "should be country when zone contains countries" do
11
- @zone.members << ZoneMember.new(:zoneable => Country.new)
12
- @zone.kind.should == "country"
13
- end
14
- it "should be state when zone contains states" do
15
- @zone.members << ZoneMember.new(:zoneable => State.new)
16
- @zone.kind.should == "state"
17
- end
18
- it "should be zone when zone contains zones" do
19
- @zone.members << ZoneMember.new(:zoneable => Zone.new)
20
- @zone.kind.should == "zone"
21
- end
22
- it "should be country when zone contains no members (default)" do
23
- @zone.kind.should == "country"
24
- end
25
- end
26
-
27
- describe "#include?" do
28
- describe "with countries based zone" do
29
- it "should return true when the address country is included in the zones list of countries" do
30
- country = Country.new
31
- address = Address.new(:country => country)
32
- @zone.members << ZoneMember.new(:zoneable => country)
33
- @zone.include?(address).should be_true
34
- end
35
- it "should return false when the address country is not included in the zones list of countries " do
36
- country = Country.new
37
- address = Address.new(:country => country)
38
- @zone.members << ZoneMember.new(:zoneable => Country.new)
39
- @zone.include?(address).should be_false
40
- end
41
- end
42
- describe "with states based zone" do
43
- it "should return true when the address state is included in the zones list of states" do
44
- state = State.new
45
- address = Address.new(:state => state)
46
- @zone.members << ZoneMember.new(:zoneable => state)
47
- @zone.include?(address).should be_true
48
- end
49
- it "should return false when the address state is not included in the zones list of states" do
50
- state = State.new
51
- address = Address.new(:state => state)
52
- @zone.members << ZoneMember.new(:zoneable => Address.new)
53
- @zone.include?(address).should be_false
54
- end
55
- end
56
- describe "with zones based zone" do
57
- it "should return true when the address satisfies at least one of the zones in the list of zones" do
58
- address = Address.new
59
- @zone.should_receive(:include?).with(address).and_return(true)
60
- @zone.members << ZoneMember.new(:zoneable => @zone)
61
- @zone.include?(address).should be_true
62
- end
63
- it "should return false when the address satisfies none of the zones in the list of zones" do
64
- address = Address.new
65
- @zone.should_receive(:include?).with(address).and_return(false)
66
- @zone.members << ZoneMember.new(:zoneable => @zone)
67
- @zone.include?(address).should be_false
68
- end
69
- end
70
- end
71
-
72
- describe "match" do
73
-
74
- before :each do
75
- @address = mock_model(Address)
76
- end
77
-
78
- it "should return an empty array if there are no zone" do
79
- Zone.should_receive(:all).and_return([])
80
- Zone.match(@address).should == []
81
- end
82
-
83
- it "should return only one zone if the address matches only one zone" do
84
- zone1 = mock_model(Zone)
85
- zone1.should_receive(:include?).with(@address).and_return(true)
86
- zone2 = mock_model(Zone)
87
- zone2.should_receive(:include?).with(@address).and_return(false)
88
- Zone.should_receive(:all).and_return([zone1, zone2])
89
- Zone.match(@address).should == [zone1]
90
- end
91
-
92
- it "should return both zones if the address matches both zones" do
93
- zone1 = mock_model(Zone)
94
- zone1.should_receive(:include?).with(@address).and_return(true)
95
- zone2 = mock_model(Zone)
96
- zone2.should_receive(:include?).with(@address).and_return(true)
97
- Zone.should_receive(:all).and_return([zone1, zone2])
98
- Zone.match(@address).should == [zone1, zone2]
99
- end
100
-
101
- it "should return no zones if address matches neither of the zones" do
102
- zone1 = mock_model(Zone)
103
- zone1.should_receive(:include?).with(@address).and_return(false)
104
- zone2 = mock_model(Zone)
105
- zone2.should_receive(:include?).with(@address).and_return(false)
106
- Zone.should_receive(:all).and_return([zone1, zone2])
107
- Zone.match(@address).should == []
108
- end
109
-
110
- end
111
-
112
- describe "country_list" do
113
- it "should return an empty array if the zone kind is state" do
114
- @zone.stub!(:kind, :return => "state")
115
- @zone.country_list.should == []
116
- end
117
- it "should return the corresponding countries if zone kind is country" do
118
- country = Country.new
119
- @zone.members << ZoneMember.new(:zoneable => country)
120
- @zone.country_list.should == [country]
121
- end
122
- it "should return the countries of the zone children if the kind is zone" do
123
- country1 = Country.new
124
- country2 = Country.new
125
-
126
- zone1 = Zone.new
127
- zone1.members << ZoneMember.new(:zoneable => country1)
128
-
129
- zone2 = Zone.new
130
- zone2.members << ZoneMember.new(:zoneable => country2)
131
-
132
- @zone.members << ZoneMember.new(:zoneable => zone1)
133
- @zone.members << ZoneMember.new(:zoneable => zone2)
134
- @zone.country_list.should == [country1, country2]
135
- end
136
- end
137
- end