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,79 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module AddressSpecHelper
4
- def valid_address_attributes
5
- {
6
- :firstname => "First",
7
- :lastname => "Last",
8
- :address1 => "Address1",
9
- :city => "City",
10
- :state_name => "A State",
11
- :zipcode => "00000",
12
- :country => Country.new,
13
- :phone => "00000000"
14
- }
15
- end
16
- end
17
-
18
-
19
- describe Address do
20
- include AddressSpecHelper
21
-
22
- before(:each) do
23
- @address = Address.new
24
- end
25
-
26
- it "should not be valid when empty" do
27
- @address.should_not be_valid
28
- end
29
-
30
- ['firstname', 'lastname', 'address1', 'city', 'country', 'zipcode', 'phone'].each do |field|
31
- it "should require #{field}" do
32
- @address.should_not be_valid
33
- @address.errors.full_messages.should include("#{Address.human_attribute_name(field)} #{I18n.translate("activerecord.errors.messages.blank")}")
34
- end
35
- end
36
-
37
- it "should require a state name when the associated country don't have states" do
38
- @address.attributes = valid_address_attributes.with(:state_name => "")
39
-
40
- @address.should_not be_valid
41
- @address.errors.full_messages.should include("#{'state_name'.humanize} #{I18n.translate("activerecord.errors.messages.blank")}")
42
- end
43
-
44
- it "should require a state when the associated country have states" do
45
- @address.attributes = valid_address_attributes.with(
46
- :country => Country.new(:states => [State.new(:name => "A State", :abbr => "ST")]),
47
- :state_name => ""
48
- )
49
-
50
- @address.should_not be_valid
51
- @address.errors.full_messages.should include("#{'state'.humanize} #{I18n.translate("activerecord.errors.messages.blank")}")
52
- end
53
-
54
- it "should be valid when having correct information" do
55
- @address.attributes = valid_address_attributes
56
- @address.should be_valid
57
- end
58
-
59
- it "should return full name when requested" do
60
- @address.attributes = valid_address_attributes
61
- @address.full_name.should == @address.firstname + " " + @address.lastname
62
- end
63
-
64
- it "should return state text as state_name attribute when the associated state is nil" do
65
- @address.attributes = valid_address_attributes.except(:state)
66
- @address.state_text.should == @address.state_name
67
- end
68
-
69
- it "should return state text as state.name attribute when the associated state is not nil but the abbreviation is empty" do
70
- @address.attributes = valid_address_attributes.with(:state => State.new(:name => "A State", :abbr => ""))
71
- @address.state_text.should == @address.state.name
72
- end
73
-
74
- it "should return state text as state.abbr attribute when the associated state is not nil and the abbreviation is not empty" do
75
- @address.attributes = valid_address_attributes.with(:state => State.new(:name => "A State", :abbr => "ST"))
76
- @address.state_text.should == @address.state.abbr
77
- end
78
-
79
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe AppConfiguration do
4
- before(:each) do
5
- @valid_attributes = {
6
- :name => "Default Configuration"
7
- }
8
- end
9
-
10
- it "should create a new instance given valid attributes" do
11
- AppConfiguration.create!(@valid_attributes)
12
- end
13
- end
@@ -1,17 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe CreditcardPayment do
4
- before(:each) {@creditcard_payment = CreditcardPayment.create(:order => Order.new)}
5
- it "#can_capture? should return false if there is no response code" do
6
- @creditcard_payment.txns.create(:txn_type => CreditcardTxn::TxnType::AUTHORIZE)
7
- @creditcard_payment.can_capture?.should == false
8
- end
9
- it "#can_capture? should return true if the last transaction was an authorization" do
10
- @creditcard_payment.txns.create(:txn_type => CreditcardTxn::TxnType::AUTHORIZE, :response_code => "123")
11
- @creditcard_payment.can_capture?.should == true
12
- end
13
- it "#can_capture? should return false if the last transaction is not an authorization" do
14
- @creditcard_payment.txns.create(:txn_type => CreditcardTxn::TxnType::CAPTURE, :response_code => "123")
15
- @creditcard_payment.can_capture?.should == false
16
- end
17
- end
@@ -1,43 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Creditcard do
4
- before(:each) do
5
- @creditcard = Creditcard.new(:number => "4111111111111111",
6
- :month => "12",
7
- :year => "2010",
8
- :verification_value => "123",
9
- :first_name => "Sean",
10
- :last_name => "Schofield")
11
- end
12
-
13
- it "should correctly assign the type of credit card based on the number" do
14
- @creditcard.save
15
- @creditcard.cc_type.should == "visa"
16
- end
17
-
18
- it "should store the creditcard number if :store_cc => true" do
19
- Spree::Config.set(:store_cc => true)
20
- @creditcard.save
21
- @creditcard = Creditcard.find(@creditcard.id)
22
- @creditcard.number.should == "4111111111111111"
23
- end
24
- it "should not store the creditcard number if :store_cc => false" do
25
- Spree::Config.set(:store_cc => false)
26
- @creditcard.save
27
- @creditcard = Creditcard.find(@creditcard.id)
28
- @creditcard.number.should be_nil
29
- end
30
- it "should store the verification_value if :store_cvv => true" do
31
- Spree::Config.set(:store_cvv => true)
32
- @creditcard.save
33
- @creditcard = Creditcard.find(@creditcard.id)
34
- @creditcard.verification_value.should == "123"
35
- end
36
- it "should not store the verification_value if :store_cvv => false" do
37
- Spree::Config.set(:store_cvv => false)
38
- @creditcard.save
39
- @creditcard = Creditcard.find(@creditcard.id)
40
- @creditcard.verification_value.should be_nil
41
- end
42
-
43
- end
@@ -1,18 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- describe InventoryUnit do
4
-
5
- before(:each) do
6
- @order = mock_model(Order)
7
- end
8
-
9
- it "should mark the correct number of inventory units as SOLD" do
10
- line_item = mock_model(LineItem)
11
- variant = mock_model(Variant)
12
- line_item.stub!(:variant).and_return(variant)
13
- @order.stub!(:line_items).and_return([line_item])
14
-
15
- # TODO - finish this test
16
- end
17
-
18
- end
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module OptionTypeSpecHelper
4
- def valid_option_type_attributes
5
- {
6
- :name => "an_option_type",
7
- :presentation => "An Option Type"
8
- }
9
- end
10
- end
11
-
12
-
13
- describe OptionType do
14
- include OptionTypeSpecHelper
15
-
16
- before(:each) do
17
- @option_type = OptionType.new
18
- end
19
-
20
- it "should not be valid when empty" do
21
- @option_type.should_not be_valid
22
- end
23
-
24
- ['name', 'presentation'].each do |field|
25
- it "should require #{field}" do
26
- @option_type.should_not be_valid
27
- @option_type.errors.full_messages.should include("#{field.humanize} #{I18n.translate("activerecord.errors.messages.blank")}")
28
- end
29
- end
30
-
31
- it "should be valid when having correct information" do
32
- @option_type.attributes = valid_option_type_attributes
33
- @option_type.should be_valid
34
- end
35
-
36
- end
@@ -1,39 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- module OptionValueSpecHelper
4
- def valid_option_value_attributes
5
- {
6
- :name => "an_option_value",
7
- :presentation => "An Option Value",
8
- :position => 1
9
- }
10
- end
11
- end
12
-
13
-
14
- describe OptionValue do
15
- include OptionValueSpecHelper
16
-
17
- before(:each) do
18
- @option_value = OptionValue.new
19
- end
20
-
21
- it "should not be valid when empty" do
22
- pending "Shouldn't it require a name and a presentation?"
23
- @option_value.should_not be_valid
24
- end
25
-
26
- ['name', 'presentation'].each do |field|
27
- it "should require #{field}" do
28
- pending "Shouldn't it require a name and a presentation?"
29
- @option_value.should_not be_valid
30
- @option_value.errors.full_messages.should include("#{field.intern.l(field).humanize} #{:error_message_blank.l}")
31
- end
32
- end
33
-
34
- it "should be valid when having correct information" do
35
- @option_value.attributes = valid_option_value_attributes
36
- @option_value.should be_valid
37
- end
38
-
39
- end
@@ -1,207 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper.rb'
2
-
3
- describe Order do
4
- before(:each) do
5
- @variant = Variant.new(:id => "1234", :price => 7.99)
6
- @inventory_unit = mock_model(InventoryUnit, :null_object => true)
7
- @creditcard_payment = mock_model(CreditcardPayment, :null_object => true)
8
- @user = mock_model(User, :email => "foo@exampl.com")
9
-
10
- @order = Order.new
11
- @order.checkout_complete = true
12
- @order.creditcard_payments = [@creditcard_payment]
13
- @order.number = '#TEST1010'
14
- @order.user = @user
15
-
16
- @order.stub!(:save => true, :inventory_units => [@inventory_unit])
17
- @line_item = LineItem.new(:variant => @variant, :quantity => 1, :price => 7.99)
18
- @order.line_items << @line_item
19
- InventoryUnit.stub!(:retrieve_on_hand).with(@variant, 1).and_return [@inventory_unit]
20
- OrderMailer.stub!(:deliver_confirm).with(any_args)
21
- OrderMailer.stub!(:deliver_cancel).with(any_args)
22
-
23
- end
24
-
25
- describe "create" do
26
- it "should generate an order number" do
27
- order = Order.create
28
- order.number.should_not be_nil
29
- end
30
- it "should generate a token" do
31
- order = Order.create
32
- order.token.should_not be_nil
33
- end
34
- end
35
-
36
- describe "next" do
37
- describe "from creditcard_payment" do
38
- before(:each) do
39
- @order.state = 'creditcard'
40
- end
41
- it "should transition to new" do
42
- @order.next
43
- @order.state.should == "new"
44
- end
45
- it "should mark inventory as sold" do
46
- @inventory_unit.should_receive(:sell!)
47
- @order.next
48
- end
49
- it "should send a confirmation email" do
50
- OrderMailer.should_receive(:deliver_confirm).with(@order)
51
- @order.next
52
- end
53
- end
54
- end
55
-
56
- describe "cancel" do
57
- it "should mark inventory as on_hand" do
58
- @order.state = "captured"
59
- @inventory_unit.stub!(:state).and_return('sold')
60
- @inventory_unit.should_receive(:restock!)
61
- @order.cancel
62
- end
63
- it "should send a cancellation email" do
64
- OrderMailer.should_receive(:deliver_cancel).with(@order)
65
- @order.cancel
66
- end
67
- %w{in_progress creditcard}.each do |state|
68
- it "should be available in the #{state} state" do
69
- @order.state = state
70
- @order.checkout_complete = false
71
- @order.can_cancel?.should be_true
72
- end
73
- end
74
- end
75
-
76
- describe "return" do
77
- it "should mark inventory as on_hand" do
78
- @order.state = "shipped"
79
- @inventory_unit.stub!(:state).and_return('shipped')
80
- @inventory_unit.should_receive(:restock!)
81
- @order.return
82
- end
83
- end
84
-
85
- describe "add_variant" do
86
- it "should add new line item if product does not currently existing in order" do
87
- @variant2 = mock_model(Variant, :id => "5678", :price => 9.99)
88
-
89
- @order.line_items.should_receive(:in_order).with(@variant2).and_return(nil)
90
- @order.line_items.size.should == 1
91
-
92
- @order.add_variant(@variant2)
93
-
94
- @order.line_items.size.should == 2
95
- end
96
-
97
- it "should increment the quantity of line_item by 1 when product already exists in order, and no specific quantity is supplied" do
98
-
99
- @order.line_items.should_receive(:in_order).with(@variant).and_return(@line_item)
100
- @line_item.should_receive(:save).and_return(true)
101
-
102
- @order.line_items[0].quantity.should == 1
103
- @order.add_variant(@variant)
104
-
105
- @order.line_items[0].quantity.should == 2
106
- end
107
-
108
- it "should increment the quantity of line_item by x when product already exists in order, and a specific quantity is supplied"do
109
-
110
- @order.line_items.should_receive(:in_order).with(@variant).and_return(@line_item)
111
- @line_item.should_receive(:save).and_return(true)
112
-
113
- @order.line_items[0].quantity.should == 1
114
- @order.add_variant(@variant, 5)
115
-
116
- @order.line_items[0].quantity.should == 6
117
- end
118
-
119
- it "should populate additional fields on line_item when additional_fields is present" do
120
- Variant.stub!(:additional_fields).and_return([
121
- {:name => 'Weight', :only => [:product]},
122
- {:name => 'Height', :only => [:product, :variant], :format => "%.2f"},
123
- {:name => 'Width', :only => [:variant], :format => "%.2f", :populate => [:line_item]},
124
- {:name => 'Depth', :only => [:variant], :populate => [:line_item]}
125
- ])
126
-
127
- #build / mock second line item to be returned, when we add the new variant
128
- @line_item2 = LineItem.new(:variant => @variant, :quantity => 1)
129
- @line_item2.should_receive(:save).exactly(3).times.and_return(true)
130
- @line_item2.stub!(:width=)
131
- @line_item2.stub!(:depth=)
132
-
133
- #mock new variant to add to order
134
- @variant2 = mock_model(Variant, :id => "5678", :price => 9.99, :width => 19, :depth => 79)
135
-
136
- #this is what we expect to happen
137
- @order.line_items.should_receive(:in_order).with(@variant2).and_return(@line_item2)
138
- @line_item2.should_receive(:width=).with(@variant2.width)
139
- @line_item2.should_receive(:depth=).with(@variant2.depth)
140
-
141
- @order.add_variant(@variant2)
142
-
143
-
144
- end
145
- end
146
-
147
- describe "resume" do
148
- %w{in_progress shipment shipping_method creditcard charged }.each do |state|
149
- it "should not be available in #{state} state" do
150
- @order.state = state
151
- @order.send("can_resume?").should == false
152
- end
153
- end
154
- it "should be available in canceled state" do
155
- @order.state = 'canceled'
156
- @order.state_events = [StateEvent.new(:name => 'cancel', :previous_state => 'charged')]
157
- @order.send("can_resume?").should == true
158
- end
159
- it "should restore the order to the previous state" do
160
- @order.state_events = [StateEvent.new(:name => 'cancel', :previous_state => 'charged')]
161
- @order.state = 'canceled'
162
- @order.resume!
163
- @order.state.should == 'charged'
164
- end
165
- it "should not be available for legacy orders wtih no prior state information" do
166
- @order.state = 'canceled'
167
- @order.state_events = [StateEvent.new(:name => 'cancel')]
168
- @order.send("can_resume?").should == false
169
- end
170
- end
171
-
172
- describe "grant_access?" do
173
- it "should grant if current_user is the same as the order's user" do
174
- current_user = User.new
175
- user_session = mock_model(UserSession, :user => current_user)
176
- UserSession.stub!(:find).and_return(user_session)
177
- @order.user = current_user
178
- @order.grant_access?.should be_true
179
- end
180
- it "should deny if current_user is not the same as the order's user and no token" do
181
- current_user = User.new
182
- user_session = mock_model(UserSession, :user => current_user)
183
- UserSession.stub!(:find).and_return(user_session)
184
- @order.user = User.new
185
- @order.grant_access?.should be_false
186
- end
187
- it "should deny if current_user is not the same as the order's user and wrong token" do
188
- current_user = User.new
189
- user_session = mock_model(UserSession, :user => current_user)
190
- UserSession.stub!(:find).and_return(user_session)
191
- @order.user = User.new
192
- @order.token = "FOO_TOKEN"
193
- @order.grant_access?("WRONG_TOKEN").should be_false
194
- end
195
- it "should allow if current_user does not match order but correct token is provided" do
196
- token = "FOO_TOKEN"
197
- current_user = User.new
198
- user_session = mock_model(UserSession, :user => current_user)
199
- UserSession.stub!(:find).and_return(user_session)
200
- @order.user = User.new
201
- @order.token = token
202
- @order.grant_access?(token).should be_true
203
- end
204
-
205
- end
206
-
207
- end