mechanize_store 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +60 -0
  4. data/Rakefile +28 -0
  5. data/app/assets/javascripts/mechanize_store/application.js +22 -0
  6. data/app/assets/javascripts/mechanize_store/sb-admin/bootstrap.js +1951 -0
  7. data/app/assets/javascripts/mechanize_store/sb-admin/custom.js +58 -0
  8. data/app/assets/javascripts/mechanize_store/sb-admin/flot/excanvas.min.js +1 -0
  9. data/app/assets/javascripts/mechanize_store/sb-admin/flot/jquery.flot.js +3137 -0
  10. data/app/assets/javascripts/mechanize_store/sb-admin/flot/jquery.flot.pie.js +817 -0
  11. data/app/assets/javascripts/mechanize_store/sb-admin/flot/main.js +20 -0
  12. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/canvas-to-blob.min.js +1 -0
  13. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.blueimp-gallery.min.js +1 -0
  14. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-angular.js +429 -0
  15. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-audio.js +106 -0
  16. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-image.js +309 -0
  17. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-jquery-ui.js +152 -0
  18. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-process.js +172 -0
  19. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-ui.js +699 -0
  20. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-validate.js +119 -0
  21. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload-video.js +106 -0
  22. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.fileupload.js +1426 -0
  23. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.iframe-transport.js +214 -0
  24. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/jquery.ui.widget.js +530 -0
  25. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/load-image.min.js +1 -0
  26. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/main.js +14 -0
  27. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-file-upload/tmpl.min.js +1 -0
  28. data/app/assets/javascripts/mechanize_store/sb-admin/jquery-ui.js +2256 -0
  29. data/app/assets/javascripts/mechanize_store/sb-admin/jquery.activity-indicator-1.0.0.min.js +223 -0
  30. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/dataTables/dataTables.bootstrap.js +245 -0
  31. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/dataTables/jquery.dataTables.js +14013 -0
  32. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/excanvas.min.js +1 -0
  33. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.js +2599 -0
  34. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.pie.js +750 -0
  35. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.resize.js +60 -0
  36. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/flot/jquery.flot.tooltip.min.js +12 -0
  37. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/metisMenu/jquery.metisMenu.js +45 -0
  38. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/morris/morris.js +1888 -0
  39. data/app/assets/javascripts/mechanize_store/sb-admin/plugins/morris/raphael-2.1.0.min.js +10 -0
  40. data/app/assets/javascripts/mechanize_store/sb-admin/sb-admin.js +18 -0
  41. data/app/assets/stylesheets/mechanize_store/application.css +197 -0
  42. data/app/assets/stylesheets/mechanize_store/sb-admin/bootstrap.css +5831 -0
  43. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/dataTables/dataTables.bootstrap.css +233 -0
  44. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/morris/morris-0.4.3.min.css +2 -0
  45. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/social-buttons/social-buttons.css +68 -0
  46. data/app/assets/stylesheets/mechanize_store/sb-admin/plugins/timeline/timeline.css +144 -0
  47. data/app/assets/stylesheets/mechanize_store/sb-admin/sb-admin.css +307 -0
  48. data/app/controllers/mechanize_store/application_controller.rb +4 -0
  49. data/app/controllers/mechanize_store/flags_controller.rb +77 -0
  50. data/app/controllers/mechanize_store/order_statuses_controller.rb +77 -0
  51. data/app/controllers/mechanize_store/orders_controller.rb +28 -0
  52. data/app/controllers/mechanize_store/payment_statuses_controller.rb +77 -0
  53. data/app/controllers/mechanize_store/payment_types_controller.rb +77 -0
  54. data/app/controllers/mechanize_store/product_categories_controller.rb +77 -0
  55. data/app/controllers/mechanize_store/product_photos_controller.rb +49 -0
  56. data/app/controllers/mechanize_store/products_controller.rb +77 -0
  57. data/app/helpers/mechanize_store/application_helper.rb +7 -0
  58. data/app/models/mechanize_store/flag.rb +4 -0
  59. data/app/models/mechanize_store/freight.rb +5 -0
  60. data/app/models/mechanize_store/order.rb +47 -0
  61. data/app/models/mechanize_store/order_item.rb +10 -0
  62. data/app/models/mechanize_store/order_status.rb +10 -0
  63. data/app/models/mechanize_store/payment.rb +8 -0
  64. data/app/models/mechanize_store/payment_status.rb +19 -0
  65. data/app/models/mechanize_store/payment_type.rb +5 -0
  66. data/app/models/mechanize_store/product.rb +11 -0
  67. data/app/models/mechanize_store/product_category.rb +5 -0
  68. data/app/models/mechanize_store/product_photo.rb +16 -0
  69. data/app/views/mechanize_store/flags/_form.html.erb +11 -0
  70. data/app/views/mechanize_store/flags/edit.html.erb +12 -0
  71. data/app/views/mechanize_store/flags/index.html.erb +46 -0
  72. data/app/views/mechanize_store/flags/new.html.erb +9 -0
  73. data/app/views/mechanize_store/flags/show.html.erb +15 -0
  74. data/app/views/mechanize_store/order_statuses/_form.html.erb +11 -0
  75. data/app/views/mechanize_store/order_statuses/edit.html.erb +12 -0
  76. data/app/views/mechanize_store/order_statuses/index.html.erb +46 -0
  77. data/app/views/mechanize_store/order_statuses/new.html.erb +9 -0
  78. data/app/views/mechanize_store/order_statuses/show.html.erb +15 -0
  79. data/app/views/mechanize_store/orders/index.html.erb +84 -0
  80. data/app/views/mechanize_store/orders/show.html.erb +0 -0
  81. data/app/views/mechanize_store/payment_statuses/_form.html.erb +11 -0
  82. data/app/views/mechanize_store/payment_statuses/edit.html.erb +12 -0
  83. data/app/views/mechanize_store/payment_statuses/index.html.erb +46 -0
  84. data/app/views/mechanize_store/payment_statuses/new.html.erb +9 -0
  85. data/app/views/mechanize_store/payment_statuses/show.html.erb +15 -0
  86. data/app/views/mechanize_store/payment_types/_form.html.erb +11 -0
  87. data/app/views/mechanize_store/payment_types/edit.html.erb +12 -0
  88. data/app/views/mechanize_store/payment_types/index.html.erb +46 -0
  89. data/app/views/mechanize_store/payment_types/new.html.erb +9 -0
  90. data/app/views/mechanize_store/payment_types/show.html.erb +15 -0
  91. data/app/views/mechanize_store/product_categories/_form.html.erb +12 -0
  92. data/app/views/mechanize_store/product_categories/edit.html.erb +12 -0
  93. data/app/views/mechanize_store/product_categories/index.html.erb +46 -0
  94. data/app/views/mechanize_store/product_categories/new.html.erb +9 -0
  95. data/app/views/mechanize_store/product_categories/show.html.erb +19 -0
  96. data/app/views/mechanize_store/product_photos/create.json.jbuilder +9 -0
  97. data/app/views/mechanize_store/product_photos/index.json.jbuilder +9 -0
  98. data/app/views/mechanize_store/products/_form.html.erb +18 -0
  99. data/app/views/mechanize_store/products/edit.html.erb +12 -0
  100. data/app/views/mechanize_store/products/index.html.erb +50 -0
  101. data/app/views/mechanize_store/products/new.html.erb +9 -0
  102. data/app/views/mechanize_store/products/show.html.erb +197 -0
  103. data/app/views/shared/_flashes.html.erb +8 -0
  104. data/config/locales/mechanize_store.pt-BR.yml +65 -0
  105. data/config/routes.rb +11 -0
  106. data/db/migrate/20140401203200_create_mechanize_store_freights.rb +12 -0
  107. data/db/migrate/20140401203246_create_mechanize_store_order_statuses.rb +9 -0
  108. data/db/migrate/20140402140318_create_mechanize_store_payment_statuses.rb +9 -0
  109. data/db/migrate/20140402140325_create_mechanize_store_payment_types.rb +9 -0
  110. data/db/migrate/20140402140539_create_mechanize_store_payments.rb +15 -0
  111. data/db/migrate/20140402140549_create_mechanize_store_flags.rb +9 -0
  112. data/db/migrate/20140402140832_create_mechanize_store_products.rb +16 -0
  113. data/db/migrate/20140402140942_create_mechanize_store_product_photos.rb +10 -0
  114. data/db/migrate/20140402153139_create_mechanize_store_orders.rb +11 -0
  115. data/db/migrate/20140402192058_create_mechanize_store_product_categories.rb +10 -0
  116. data/db/migrate/20140407193412_add_width_to_mechanize_store_product.rb +6 -0
  117. data/db/migrate/20140409191426_create_mechanize_store_order_items.rb +12 -0
  118. data/db/migrate/20140416123100_add_payment_type_id_to_payment.rb +6 -0
  119. data/db/migrate/20140417200520_add_time_to_freight.rb +5 -0
  120. data/lib/mechanize_store.rb +4 -0
  121. data/lib/mechanize_store/engine.rb +17 -0
  122. data/lib/mechanize_store/version.rb +3 -0
  123. data/lib/tasks/mechanize_store_tasks.rake +4 -0
  124. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  125. data/lib/templates/erb/scaffold/edit.html.erb +12 -0
  126. data/lib/templates/erb/scaffold/index.html.erb +50 -0
  127. data/lib/templates/erb/scaffold/new.html.erb +9 -0
  128. data/lib/templates/erb/scaffold/show.html.erb +17 -0
  129. data/lib/templates/rails/scaffold_controller/controller.rb +79 -0
  130. data/spec/controllers/mechanize_store/flags_controller_spec.rb +138 -0
  131. data/spec/controllers/mechanize_store/order_statuses_controller_spec.rb +138 -0
  132. data/spec/controllers/mechanize_store/orders_controller_spec.rb +29 -0
  133. data/spec/controllers/mechanize_store/payment_statuses_controller_spec.rb +139 -0
  134. data/spec/controllers/mechanize_store/payment_types_controller_spec.rb +139 -0
  135. data/spec/controllers/mechanize_store/product_categories_controller_spec.rb +138 -0
  136. data/spec/controllers/mechanize_store/product_photos_controller_spec.rb +75 -0
  137. data/spec/controllers/mechanize_store/products_controller_spec.rb +135 -0
  138. data/spec/dummy/README.rdoc +28 -0
  139. data/spec/dummy/Rakefile +6 -0
  140. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  141. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  142. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  143. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  144. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  145. data/spec/dummy/bin/bundle +3 -0
  146. data/spec/dummy/bin/rails +4 -0
  147. data/spec/dummy/bin/rake +4 -0
  148. data/spec/dummy/config.ru +4 -0
  149. data/spec/dummy/config/application.rb +25 -0
  150. data/spec/dummy/config/boot.rb +5 -0
  151. data/spec/dummy/config/database.yml +25 -0
  152. data/spec/dummy/config/environment.rb +5 -0
  153. data/spec/dummy/config/environments/development.rb +29 -0
  154. data/spec/dummy/config/environments/production.rb +80 -0
  155. data/spec/dummy/config/environments/test.rb +36 -0
  156. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  157. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  158. data/spec/dummy/config/initializers/inflections.rb +16 -0
  159. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  160. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  161. data/spec/dummy/config/initializers/session_store.rb +3 -0
  162. data/spec/dummy/config/initializers/simple_form.rb +145 -0
  163. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  164. data/spec/dummy/config/locales/en.yml +23 -0
  165. data/spec/dummy/config/locales/pt-BR.yml +23 -0
  166. data/spec/dummy/config/routes.rb +3 -0
  167. data/spec/dummy/db/development.sqlite3 +0 -0
  168. data/spec/dummy/db/migrate/20140407144119_create_mechanize_store_freights.mechanize_store.rb +13 -0
  169. data/spec/dummy/db/migrate/20140407144120_create_mechanize_store_order_statuses.mechanize_store.rb +10 -0
  170. data/spec/dummy/db/migrate/20140407144121_create_mechanize_store_payment_statuses.mechanize_store.rb +10 -0
  171. data/spec/dummy/db/migrate/20140407144122_create_mechanize_store_payment_types.mechanize_store.rb +10 -0
  172. data/spec/dummy/db/migrate/20140407144123_create_mechanize_store_payments.mechanize_store.rb +17 -0
  173. data/spec/dummy/db/migrate/20140407144124_create_mechanize_store_flags.mechanize_store.rb +10 -0
  174. data/spec/dummy/db/migrate/20140407144125_create_mechanize_store_products.mechanize_store.rb +17 -0
  175. data/spec/dummy/db/migrate/20140407144126_create_mechanize_store_product_photos.mechanize_store.rb +11 -0
  176. data/spec/dummy/db/migrate/20140407144127_create_mechanize_store_orders.mechanize_store.rb +12 -0
  177. data/spec/dummy/db/migrate/20140407144128_create_mechanize_store_product_categories.mechanize_store.rb +11 -0
  178. data/spec/dummy/db/migrate/20140407193949_add_width_to_mechanize_store_product.mechanize_store.rb +7 -0
  179. data/spec/dummy/db/migrate/20140409191457_create_mechanize_store_order_items.mechanize_store.rb +13 -0
  180. data/spec/dummy/db/schema.rb +125 -0
  181. data/spec/dummy/db/test.sqlite3 +0 -0
  182. data/spec/dummy/log/development.log +24931 -0
  183. data/spec/dummy/log/test.log +42225 -0
  184. data/spec/dummy/public/404.html +58 -0
  185. data/spec/dummy/public/422.html +58 -0
  186. data/spec/dummy/public/500.html +57 -0
  187. data/spec/dummy/public/favicon.ico +0 -0
  188. data/spec/dummy/tmp/cache/assets/development/sprockets/015a50b3ac7ad70aa90ce0a95c99df04 +0 -0
  189. data/spec/dummy/tmp/cache/assets/development/sprockets/020540bcd9f6782692071f17f50f43b0 +0 -0
  190. data/spec/dummy/tmp/cache/assets/development/sprockets/0378e5799bf84efc4c9b8ac61252a081 +0 -0
  191. data/spec/dummy/tmp/cache/assets/development/sprockets/04032662bf2ebfb00b4218e459ab14bf +0 -0
  192. data/spec/dummy/tmp/cache/assets/development/sprockets/043663643ec7f44e8f7baeb7856605bb +0 -0
  193. data/spec/dummy/tmp/cache/assets/development/sprockets/059883583379e5e373caaa73ac8f18ca +0 -0
  194. data/spec/dummy/tmp/cache/assets/development/sprockets/05f7ba95ff1ffeab9cb378fcb7b0289f +0 -0
  195. data/spec/dummy/tmp/cache/assets/development/sprockets/069b62a9f82e145a95c6dbcada54860d +0 -0
  196. data/spec/dummy/tmp/cache/assets/development/sprockets/06ce3d4f3b99f90fa0ced1db38c5fb13 +0 -0
  197. data/spec/dummy/tmp/cache/assets/development/sprockets/0a70c895b23487214ec56a6cd4bd9552 +0 -0
  198. data/spec/dummy/tmp/cache/assets/development/sprockets/0e42ab04670f4d8017b5eeb5ec7f080b +0 -0
  199. data/spec/dummy/tmp/cache/assets/development/sprockets/0f2edd5bf10b0d769d20d28769abf705 +0 -0
  200. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  201. data/spec/dummy/tmp/cache/assets/development/sprockets/14464296f672d2910982229137d66535 +0 -0
  202. data/spec/dummy/tmp/cache/assets/development/sprockets/19456f04c83f78d9ab6e5d57031015ef +0 -0
  203. data/spec/dummy/tmp/cache/assets/development/sprockets/1a5faaf1e18d5f49d129459ae565f1af +0 -0
  204. data/spec/dummy/tmp/cache/assets/development/sprockets/1a78a9c2facea31464f84e54fdc36059 +0 -0
  205. data/spec/dummy/tmp/cache/assets/development/sprockets/1da2c163f7f6bbd029786010cd788bce +0 -0
  206. data/spec/dummy/tmp/cache/assets/development/sprockets/250ad25722c066145272032ad82f4561 +0 -0
  207. data/spec/dummy/tmp/cache/assets/development/sprockets/2593c6406f0e0ba8eb5271badc1fbef1 +0 -0
  208. data/spec/dummy/tmp/cache/assets/development/sprockets/262f77e6bb6c8e1453f5477c82a17b11 +0 -0
  209. data/spec/dummy/tmp/cache/assets/development/sprockets/27479abec405e7ea5ee309699b19c495 +0 -0
  210. data/spec/dummy/tmp/cache/assets/development/sprockets/2b16e3dfbce9d1bb0de91f424f03694a +0 -0
  211. data/spec/dummy/tmp/cache/assets/development/sprockets/2b89581781ce2529d6435ae4a831dcb9 +0 -0
  212. data/spec/dummy/tmp/cache/assets/development/sprockets/2c8d436d977e56045cd16cc55f33e24f +0 -0
  213. data/spec/dummy/tmp/cache/assets/development/sprockets/2d8950ff6bb73413e9deb6e196bfffd0 +0 -0
  214. data/spec/dummy/tmp/cache/assets/development/sprockets/2dc34152e91278da6990e448dccf297a +0 -0
  215. data/spec/dummy/tmp/cache/assets/development/sprockets/2e2c50f356deda30cee516e501b1eb70 +0 -0
  216. data/spec/dummy/tmp/cache/assets/development/sprockets/2ee1b9592bbe1ba628925e28b31fdc2a +0 -0
  217. data/spec/dummy/tmp/cache/assets/development/sprockets/2f378010bb54f8ca9c2a38c7df245b26 +0 -0
  218. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  219. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  220. data/spec/dummy/tmp/cache/assets/development/sprockets/38aa872dea852cc952801236dfc073fc +0 -0
  221. data/spec/dummy/tmp/cache/assets/development/sprockets/3c562eb64c2c0fc045f18356d3ddd84e +0 -0
  222. data/spec/dummy/tmp/cache/assets/development/sprockets/3daa6dd7a3804d55f1896a2d40ccea5f +0 -0
  223. data/spec/dummy/tmp/cache/assets/development/sprockets/436e4923cef6508f9572309894ad3afb +0 -0
  224. data/spec/dummy/tmp/cache/assets/development/sprockets/43db98f3f4043e28dd241d4bcf40a382 +0 -0
  225. data/spec/dummy/tmp/cache/assets/development/sprockets/4517526bf21c2e0d4475812a0801ff73 +0 -0
  226. data/spec/dummy/tmp/cache/assets/development/sprockets/45e8f86d32c088635371e9d83d481ff0 +0 -0
  227. data/spec/dummy/tmp/cache/assets/development/sprockets/46c7525f809be6b9a6da46ec5281b90d +0 -0
  228. data/spec/dummy/tmp/cache/assets/development/sprockets/48710380827190cf4c297aeb8ff8f521 +0 -0
  229. data/spec/dummy/tmp/cache/assets/development/sprockets/48c25b92a4e1841bd519a77588afb5df +0 -0
  230. data/spec/dummy/tmp/cache/assets/development/sprockets/4b3b499b73fde3f086615d203a4cd9ee +0 -0
  231. data/spec/dummy/tmp/cache/assets/development/sprockets/4c1f9a5156d1c8724067d833a65dc486 +0 -0
  232. data/spec/dummy/tmp/cache/assets/development/sprockets/4e1d544283e15d5f8e7575f717a440a4 +0 -0
  233. data/spec/dummy/tmp/cache/assets/development/sprockets/54843f9a3a2ac75ad7ebde3307ce8606 +0 -0
  234. data/spec/dummy/tmp/cache/assets/development/sprockets/55116814eac2aaa3b60343e4269a18f9 +0 -0
  235. data/spec/dummy/tmp/cache/assets/development/sprockets/55d45208b6b824293fd70642ec435749 +0 -0
  236. data/spec/dummy/tmp/cache/assets/development/sprockets/593ece65492f611f990932db9d09f2c7 +0 -0
  237. data/spec/dummy/tmp/cache/assets/development/sprockets/59bb66920183998fcca5f2c787d0180e +0 -0
  238. data/spec/dummy/tmp/cache/assets/development/sprockets/5c19a1c0836acd88cf90128587c8a9f2 +0 -0
  239. data/spec/dummy/tmp/cache/assets/development/sprockets/5cbd47d1e56ce6ad12324dc100b18435 +0 -0
  240. data/spec/dummy/tmp/cache/assets/development/sprockets/5dd2138848e347d174c374d012420ae3 +0 -0
  241. data/spec/dummy/tmp/cache/assets/development/sprockets/5e2b19c7c137f093e3a17e2eed13b00e +0 -0
  242. data/spec/dummy/tmp/cache/assets/development/sprockets/5f29f414f1d3e6a4c8eacd4974e20369 +0 -0
  243. data/spec/dummy/tmp/cache/assets/development/sprockets/5fc8e81b247da7b93af8a2eb06017a5e +0 -0
  244. data/spec/dummy/tmp/cache/assets/development/sprockets/646c6b9465381d825591b427e65cfa6f +0 -0
  245. data/spec/dummy/tmp/cache/assets/development/sprockets/6554b2d6606c5f90f91a8a1f01ee5207 +0 -0
  246. data/spec/dummy/tmp/cache/assets/development/sprockets/662f5fc7888fcf74ff719aea443f1e0e +0 -0
  247. data/spec/dummy/tmp/cache/assets/development/sprockets/66c3c3a1daf01d2edc14fb56645814af +0 -0
  248. data/spec/dummy/tmp/cache/assets/development/sprockets/69f57e81929c085cfd164a7b30f9cb5f +0 -0
  249. data/spec/dummy/tmp/cache/assets/development/sprockets/6a7af764897e94acc0adc4f6855846ea +0 -0
  250. data/spec/dummy/tmp/cache/assets/development/sprockets/6ddd5e3587977e83d7dc7b7124cc4044 +0 -0
  251. data/spec/dummy/tmp/cache/assets/development/sprockets/70894d30d9a638ae5cb410c1bf51d436 +0 -0
  252. data/spec/dummy/tmp/cache/assets/development/sprockets/746b6834bc4167c8495578a1b7b05cd2 +0 -0
  253. data/spec/dummy/tmp/cache/assets/development/sprockets/748419e05355441fbf8b5177841a01ae +0 -0
  254. data/spec/dummy/tmp/cache/assets/development/sprockets/75b6e2b76634cd778e12a60b8862cc83 +0 -0
  255. data/spec/dummy/tmp/cache/assets/development/sprockets/75e995d7f41c3d87054f39654ee96276 +0 -0
  256. data/spec/dummy/tmp/cache/assets/development/sprockets/7a6ffbc3e76322931e50faa267bf2ccd +0 -0
  257. data/spec/dummy/tmp/cache/assets/development/sprockets/7dbc97a9be7f04dc0f5cb28337fe9f4c +0 -0
  258. data/spec/dummy/tmp/cache/assets/development/sprockets/7e908a7a32793f07298fa2f32f7a1da6 +0 -0
  259. data/spec/dummy/tmp/cache/assets/development/sprockets/80137a3a1ee5336154baaea4290aa0fa +0 -0
  260. data/spec/dummy/tmp/cache/assets/development/sprockets/80a4a7e08ffe3c1b0ad632a9f69dae61 +0 -0
  261. data/spec/dummy/tmp/cache/assets/development/sprockets/875373523edad14b9efdc32d30056b88 +0 -0
  262. data/spec/dummy/tmp/cache/assets/development/sprockets/8b2a3bdfdd87982dbcdf9beaa4883771 +0 -0
  263. data/spec/dummy/tmp/cache/assets/development/sprockets/8c29fc18ccf7320aa1f9d9fbc277adbc +0 -0
  264. data/spec/dummy/tmp/cache/assets/development/sprockets/8c48b01bb6fe5d3f87c3e2d8796bfe57 +0 -0
  265. data/spec/dummy/tmp/cache/assets/development/sprockets/8c880b8aef8a9168cf039ff966dde072 +0 -0
  266. data/spec/dummy/tmp/cache/assets/development/sprockets/8e1041b3a7abe8f1431f078dd04e52f2 +0 -0
  267. data/spec/dummy/tmp/cache/assets/development/sprockets/8e1509b014a325c41eb6d6d060697d5b +0 -0
  268. data/spec/dummy/tmp/cache/assets/development/sprockets/9295c97f3680de471db1138760883721 +0 -0
  269. data/spec/dummy/tmp/cache/assets/development/sprockets/932ff26d70c7f83db540941e70fbc256 +0 -0
  270. data/spec/dummy/tmp/cache/assets/development/sprockets/95d1184dee9d6ad8efbb18992ef7f3bd +0 -0
  271. data/spec/dummy/tmp/cache/assets/development/sprockets/9a57b3781439b98aa17111614be63659 +0 -0
  272. data/spec/dummy/tmp/cache/assets/development/sprockets/9a958d65f5d84cf81a860fe6b98f7586 +0 -0
  273. data/spec/dummy/tmp/cache/assets/development/sprockets/9ba78083ca4f55d2e3dbb4c16f5108a4 +0 -0
  274. data/spec/dummy/tmp/cache/assets/development/sprockets/9bf7f52d56b17c5fcacc89e0196ec9ec +0 -0
  275. data/spec/dummy/tmp/cache/assets/development/sprockets/9dcc41c3f740c89aa23972f9f0fb7682 +0 -0
  276. data/spec/dummy/tmp/cache/assets/development/sprockets/9dd69825bb5d22668e78fcadbcc384bf +0 -0
  277. data/spec/dummy/tmp/cache/assets/development/sprockets/9f7694dc7aa37365dca45aa754f46e75 +0 -0
  278. data/spec/dummy/tmp/cache/assets/development/sprockets/a119b32f75ff105e311edc0f31ca67f6 +0 -0
  279. data/spec/dummy/tmp/cache/assets/development/sprockets/a388745aef9974ea0f378a3b83f6f8e7 +0 -0
  280. data/spec/dummy/tmp/cache/assets/development/sprockets/a80b32eb0130473db70817a2464be54a +0 -0
  281. data/spec/dummy/tmp/cache/assets/development/sprockets/a97cfb7a9ba4204c2c02cb794e0b529e +0 -0
  282. data/spec/dummy/tmp/cache/assets/development/sprockets/a9d026eb5dcf44bbad77067be7ccc216 +0 -0
  283. data/spec/dummy/tmp/cache/assets/development/sprockets/ac2422a2e7c30bbcf41620f5eadf6c9a +0 -0
  284. data/spec/dummy/tmp/cache/assets/development/sprockets/aca81e68e9477c36988579e16d099f7a +0 -0
  285. data/spec/dummy/tmp/cache/assets/development/sprockets/ad821e6998f57556c2bbebeac574bbd3 +0 -0
  286. data/spec/dummy/tmp/cache/assets/development/sprockets/adc26899d70ead5b9321d6b6be5cb73a +0 -0
  287. data/spec/dummy/tmp/cache/assets/development/sprockets/ae2d91de359a9f7f39d93f379705b07c +0 -0
  288. data/spec/dummy/tmp/cache/assets/development/sprockets/b1909373f0eb96fc7eb1a16b13cf9d9c +0 -0
  289. data/spec/dummy/tmp/cache/assets/development/sprockets/b2d360ac92a3862e54a81752fac14f04 +0 -0
  290. data/spec/dummy/tmp/cache/assets/development/sprockets/b32edcdd838f74e3b0b694bb4fb78135 +0 -0
  291. data/spec/dummy/tmp/cache/assets/development/sprockets/b80b1d0da5126d78830d5cc9d33bb939 +0 -0
  292. data/spec/dummy/tmp/cache/assets/development/sprockets/b80ff122a6e6cb26a8726574c9ed9843 +0 -0
  293. data/spec/dummy/tmp/cache/assets/development/sprockets/b8788a2d9cd7867f9732a0d1218b3be3 +0 -0
  294. data/spec/dummy/tmp/cache/assets/development/sprockets/c01c09c7af2805825d421efe97369c92 +0 -0
  295. data/spec/dummy/tmp/cache/assets/development/sprockets/c096a28eb3fb4f6a5943814c1d83de28 +0 -0
  296. data/spec/dummy/tmp/cache/assets/development/sprockets/c1c5e3bf6b463ce593f544553cd61880 +0 -0
  297. data/spec/dummy/tmp/cache/assets/development/sprockets/c206d760825f5d60935bc162372aae5f +0 -0
  298. data/spec/dummy/tmp/cache/assets/development/sprockets/c276778eb885b31ac5c72899422f687b +0 -0
  299. data/spec/dummy/tmp/cache/assets/development/sprockets/c381ab6aead4f08abb9b7da1fd2c5cbe +0 -0
  300. data/spec/dummy/tmp/cache/assets/development/sprockets/c3fae7c3a4d1eb0934a03e3508994894 +0 -0
  301. data/spec/dummy/tmp/cache/assets/development/sprockets/c532dcbd254ee5454d453f8dca2ea356 +0 -0
  302. data/spec/dummy/tmp/cache/assets/development/sprockets/c5febc1300d6cd4c2f85a5dcc4ccca65 +0 -0
  303. data/spec/dummy/tmp/cache/assets/development/sprockets/c6337ac9ac53de67c5e4e0bbd8e0b98f +0 -0
  304. data/spec/dummy/tmp/cache/assets/development/sprockets/c63f6f599121de54f10407499bdeb95d +0 -0
  305. data/spec/dummy/tmp/cache/assets/development/sprockets/c6ccf7b3128d1693a850e8014129e21b +0 -0
  306. data/spec/dummy/tmp/cache/assets/development/sprockets/c884f6ae49a257a9b8218d60cddc22c1 +0 -0
  307. data/spec/dummy/tmp/cache/assets/development/sprockets/c9053dba65ec180c37b513c1e0a02953 +0 -0
  308. data/spec/dummy/tmp/cache/assets/development/sprockets/c9274eaf6338c910a014211f057bb10f +0 -0
  309. data/spec/dummy/tmp/cache/assets/development/sprockets/c9b7bfc895f9ef763149e886eed1c12a +0 -0
  310. data/spec/dummy/tmp/cache/assets/development/sprockets/ca5d6127a6b6cb20b3137c6ed1b086e4 +0 -0
  311. data/spec/dummy/tmp/cache/assets/development/sprockets/ca68d3d42cc489b72f5a9caa1bec8a0f +0 -0
  312. data/spec/dummy/tmp/cache/assets/development/sprockets/cbb3bbaeb5cbb28714fc2d854e55d759 +0 -0
  313. data/spec/dummy/tmp/cache/assets/development/sprockets/cbc8f4f72d68f84e285b14c13c615e94 +0 -0
  314. data/spec/dummy/tmp/cache/assets/development/sprockets/cbf5cac128a3b9fd8567cf02d8b5c7f4 +0 -0
  315. data/spec/dummy/tmp/cache/assets/development/sprockets/cf62df2949741a6dfcbdf6dae39a376e +0 -0
  316. data/spec/dummy/tmp/cache/assets/development/sprockets/cfe2122c3660d4bf29e621b13cc1e4c0 +0 -0
  317. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  318. data/spec/dummy/tmp/cache/assets/development/sprockets/d1ebcb314c13703007e0a6e9c5604655 +0 -0
  319. data/spec/dummy/tmp/cache/assets/development/sprockets/d4db7fd1c1ad160335e9abc86e49a138 +0 -0
  320. data/spec/dummy/tmp/cache/assets/development/sprockets/d5a9b12dc73b0e530314f93a2e7d4270 +0 -0
  321. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  322. data/spec/dummy/tmp/cache/assets/development/sprockets/d84c8af9dd2dd84ac27282b753d2b33c +0 -0
  323. data/spec/dummy/tmp/cache/assets/development/sprockets/d86a26ce11fa0095e076b69ecd98fbf6 +0 -0
  324. data/spec/dummy/tmp/cache/assets/development/sprockets/dba3e0db21349797be91d79366b2e6d9 +0 -0
  325. data/spec/dummy/tmp/cache/assets/development/sprockets/dcfc0ac1daceac33f1f1d348341a8c75 +0 -0
  326. data/spec/dummy/tmp/cache/assets/development/sprockets/dd149c63c658dcacd022a8bbd0136c9f +0 -0
  327. data/spec/dummy/tmp/cache/assets/development/sprockets/de287cf9a2ea50ebc178bcc7cd8e0f4c +0 -0
  328. data/spec/dummy/tmp/cache/assets/development/sprockets/de35fa3c2360ca5a0479c6ec6c8c0d62 +0 -0
  329. data/spec/dummy/tmp/cache/assets/development/sprockets/dfc074e83f62650815ec91d5e6ae716a +0 -0
  330. data/spec/dummy/tmp/cache/assets/development/sprockets/e4806a3aea27283bdce20bcb1cc894a6 +0 -0
  331. data/spec/dummy/tmp/cache/assets/development/sprockets/e9075a2c21b7e2c0543aceff4975485a +0 -0
  332. data/spec/dummy/tmp/cache/assets/development/sprockets/e9c2ccf818891a7575ec2200367bbf52 +0 -0
  333. data/spec/dummy/tmp/cache/assets/development/sprockets/eb3496f8d86eed2469155f90f146a7bd +0 -0
  334. data/spec/dummy/tmp/cache/assets/development/sprockets/ec5d87f50983b6156db79eb4c4b0ae6d +0 -0
  335. data/spec/dummy/tmp/cache/assets/development/sprockets/f0bb04309f0742e927d269899c6b9a4a +0 -0
  336. data/spec/dummy/tmp/cache/assets/development/sprockets/f0fdb965c01e31547d9058c609918712 +0 -0
  337. data/spec/dummy/tmp/cache/assets/development/sprockets/f2de92b01852702a49c9e9e5cd3b320f +0 -0
  338. data/spec/dummy/tmp/cache/assets/development/sprockets/f478e4dc1bdfe5240e3ca48440488e32 +0 -0
  339. data/spec/dummy/tmp/cache/assets/development/sprockets/f51cc05ee2ec6ed667257568e527f522 +0 -0
  340. data/spec/dummy/tmp/cache/assets/development/sprockets/f535bdc9ad7f7f6ce6009b846c2fc2d7 +0 -0
  341. data/spec/dummy/tmp/cache/assets/development/sprockets/f61f3d9d282d0c092d604b8433071c77 +0 -0
  342. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  343. data/spec/dummy/tmp/cache/assets/development/sprockets/f97dc728e6d15fb7ba9f14ad2b8b6bcb +0 -0
  344. data/spec/dummy/tmp/cache/assets/development/sprockets/faeec0db256cfb91ad104e66a9453bd9 +0 -0
  345. data/spec/dummy/tmp/cache/assets/development/sprockets/fbbf6a435d522871a2d29d97e370bfce +0 -0
  346. data/spec/dummy/tmp/cache/assets/development/sprockets/ffbf6316da17c85bd6bda4bdb1961baf +0 -0
  347. data/spec/factories/mechanize_store_order_items.rb +10 -0
  348. data/spec/factories/mechanize_store_products.rb +14 -0
  349. data/spec/factories/store_flags.rb +7 -0
  350. data/spec/factories/store_freights.rb +10 -0
  351. data/spec/factories/store_order_statuses.rb +7 -0
  352. data/spec/factories/store_orders.rb +8 -0
  353. data/spec/factories/store_payment_statuses.rb +7 -0
  354. data/spec/factories/store_payment_types.rb +7 -0
  355. data/spec/factories/store_payments.rb +14 -0
  356. data/spec/factories/store_product_categories.rb +8 -0
  357. data/spec/factories/store_product_photos.rb +8 -0
  358. data/spec/factories/store_stores.rb +10 -0
  359. data/spec/features/orders_flow_spec.rb +0 -0
  360. data/spec/features/products_flow_test.rb +68 -0
  361. data/spec/fixtures/rails.png +0 -0
  362. data/spec/models/mechanize_store/order_item_spec.rb +7 -0
  363. data/spec/models/store/flag_spec.rb +7 -0
  364. data/spec/models/store/freight_spec.rb +7 -0
  365. data/spec/models/store/order_spec.rb +7 -0
  366. data/spec/models/store/order_status_spec.rb +7 -0
  367. data/spec/models/store/payment_spec.rb +7 -0
  368. data/spec/models/store/payment_status_spec.rb +7 -0
  369. data/spec/models/store/payment_type_spec.rb +7 -0
  370. data/spec/models/store/product_category_spec.rb +7 -0
  371. data/spec/models/store/product_photo_spec.rb +7 -0
  372. data/spec/models/store/product_spec.rb +7 -0
  373. data/spec/models/store/store_spec.rb +7 -0
  374. data/spec/routing/store/flags_routing_spec.rb +39 -0
  375. data/spec/routing/store/order_statuses_routing_spec.rb +39 -0
  376. data/spec/routing/store/orders_routing_spec.rb +18 -0
  377. data/spec/routing/store/payment_statuses_routing_spec.rb +38 -0
  378. data/spec/routing/store/payment_types_routing_spec.rb +38 -0
  379. data/spec/routing/store/product_categories_routing_spec.rb +39 -0
  380. data/spec/routing/store/products_photos_routing_spec.rb +19 -0
  381. data/spec/routing/store/products_routing_spec.rb +39 -0
  382. data/spec/spec_helper.rb +22 -0
  383. metadata +876 -0
@@ -0,0 +1,138 @@
1
+ require 'spec_helper'
2
+
3
+ module MechanizeStore
4
+ describe ProductCategoriesController do
5
+ routes { MechanizeStore::Engine.routes }
6
+
7
+ let(:valid_attributes) { { "name" => "MyString" } }
8
+ let(:valid_session) { {} }
9
+
10
+ describe "GET index" do
11
+ it "assigns all product_categories as @product_categories" do
12
+ product_category = ProductCategory.create! valid_attributes
13
+ get :index, {}, valid_session
14
+ assigns(:product_categories).should eq([product_category])
15
+ end
16
+ end
17
+
18
+ describe "GET show" do
19
+ it "assigns the requested product_category as @product_category" do
20
+ product_category = ProductCategory.create! valid_attributes
21
+ get :show, {:id => product_category.to_param}, valid_session
22
+ assigns(:product_category).should eq(product_category)
23
+ end
24
+ end
25
+
26
+ describe "GET new" do
27
+ it "assigns a new product_category as @product_category" do
28
+ get :new, {}, valid_session
29
+ assigns(:product_category).should be_a_new(ProductCategory)
30
+ end
31
+ end
32
+
33
+ describe "GET edit" do
34
+ it "assigns the requested product_category as @product_category" do
35
+ product_category = ProductCategory.create! valid_attributes
36
+ get :edit, {:id => product_category.to_param}, valid_session
37
+ assigns(:product_category).should eq(product_category)
38
+ end
39
+ end
40
+
41
+ describe "POST create" do
42
+ describe "with valid params" do
43
+ it "creates a new ProductCategory" do
44
+ expect {
45
+ post :create, {:product_category => valid_attributes}, valid_session
46
+ }.to change(ProductCategory, :count).by(1)
47
+ end
48
+
49
+ it "assigns a newly created product_category as @product_category" do
50
+ post :create, {:product_category => valid_attributes}, valid_session
51
+ assigns(:product_category).should be_a(ProductCategory)
52
+ assigns(:product_category).should be_persisted
53
+ end
54
+
55
+ it "redirects to the created product_category" do
56
+ post :create, {:product_category => valid_attributes}, valid_session
57
+ response.should redirect_to(ProductCategory.last)
58
+ end
59
+ end
60
+
61
+ describe "with invalid params" do
62
+ it "assigns a newly created but unsaved product_category as @product_category" do
63
+ # Trigger the behavior that occurs when invalid params are submitted
64
+ ProductCategory.any_instance.stub(:save).and_return(false)
65
+ post :create, {:product_category => { "name" => "invalid value" }}, valid_session
66
+ assigns(:product_category).should be_a_new(ProductCategory)
67
+ end
68
+
69
+ it "re-renders the 'new' template" do
70
+ # Trigger the behavior that occurs when invalid params are submitted
71
+ ProductCategory.any_instance.stub(:save).and_return(false)
72
+ post :create, {:product_category => { "name" => "invalid value" }}, valid_session
73
+ response.should render_template("new")
74
+ end
75
+ end
76
+ end
77
+
78
+ describe "PUT update" do
79
+ describe "with valid params" do
80
+ it "updates the requested product_category" do
81
+ product_category = ProductCategory.create! valid_attributes
82
+ # Assuming there are no other product_categories in the database, this
83
+ # specifies that the ProductCategory created on the previous line
84
+ # receives the :update_attributes message with whatever params are
85
+ # submitted in the request.
86
+ ProductCategory.any_instance.should_receive(:update).with({ "name" => "MyString" })
87
+ put :update, {:id => product_category.to_param, :product_category => { "name" => "MyString" }}, valid_session
88
+ end
89
+
90
+ it "assigns the requested product_category as @product_category" do
91
+ product_category = ProductCategory.create! valid_attributes
92
+ put :update, {:id => product_category.to_param, :product_category => valid_attributes}, valid_session
93
+ assigns(:product_category).should eq(product_category)
94
+ end
95
+
96
+ it "redirects to the product_category" do
97
+ product_category = ProductCategory.create! valid_attributes
98
+ put :update, {:id => product_category.to_param, :product_category => valid_attributes}, valid_session
99
+ response.should redirect_to(product_category)
100
+ end
101
+ end
102
+
103
+ describe "with invalid params" do
104
+ it "assigns the product_category as @product_category" do
105
+ product_category = ProductCategory.create! valid_attributes
106
+ # Trigger the behavior that occurs when invalid params are submitted
107
+ ProductCategory.any_instance.stub(:save).and_return(false)
108
+ put :update, {:id => product_category.to_param, :product_category => { "name" => "invalid value" }}, valid_session
109
+ assigns(:product_category).should eq(product_category)
110
+ end
111
+
112
+ it "re-renders the 'edit' template" do
113
+ product_category = ProductCategory.create! valid_attributes
114
+ # Trigger the behavior that occurs when invalid params are submitted
115
+ ProductCategory.any_instance.stub(:save).and_return(false)
116
+ put :update, {:id => product_category.to_param, :product_category => { "name" => "invalid value" }}, valid_session
117
+ response.should render_template("edit")
118
+ end
119
+ end
120
+ end
121
+
122
+ describe "DELETE destroy" do
123
+ it "destroys the requested product_category" do
124
+ product_category = ProductCategory.create! valid_attributes
125
+ expect {
126
+ delete :destroy, {:id => product_category.to_param}, valid_session
127
+ }.to change(ProductCategory, :count).by(-1)
128
+ end
129
+
130
+ it "redirects to the product_categories list" do
131
+ product_category = ProductCategory.create! valid_attributes
132
+ delete :destroy, {:id => product_category.to_param}, valid_session
133
+ response.should redirect_to(product_categories_url)
134
+ end
135
+ end
136
+
137
+ end
138
+ end
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ module MechanizeStore
4
+ describe ProductPhotosController do
5
+
6
+ routes { MechanizeStore::Engine.routes }
7
+
8
+ let(:valid_attributes) { { "file" => fixture_file_upload('rails.png'), product_id: @product.id } }
9
+
10
+ let(:valid_session) { {} }
11
+
12
+ before do
13
+ @product = FactoryGirl.create(:mechanize_store_product)
14
+ end
15
+
16
+ describe "GET index" do
17
+ it "assigns all product_photos as @product_photos" do
18
+ payment_type = ProductPhoto.create! valid_attributes
19
+ get :index, { product_id: @product.id, format: "json" }, valid_session
20
+ assigns(:product_photos).should eq(@product.product_photos)
21
+ end
22
+ end
23
+
24
+ describe "POST create" do
25
+ describe "with valid params" do
26
+ it "creates a new ProductCategory" do
27
+ expect {
28
+ post :create, { product_id: @product.id, :product_photo => { "file" => [fixture_file_upload('rails.png')] } }, valid_session
29
+ }.to change(ProductPhoto, :count).by(1)
30
+ end
31
+
32
+ it "assigns a newly created product_photo as @product_photo" do
33
+ post :create, { product_id: @product.id, :product_photo => { "file" => [fixture_file_upload('rails.png')] } }, valid_session
34
+
35
+ assigns(:product_photo).should be_a(ProductPhoto)
36
+ assigns(:product_photo).should be_persisted
37
+ end
38
+
39
+ it "redirects to the created product_photo" do
40
+ post :create, { :product_photo => { "file" => [fixture_file_upload('rails.png')] }, product_id: @product.id }, valid_session
41
+
42
+ response.should redirect_to(@product)
43
+ end
44
+ end
45
+
46
+ describe "with invalid params" do
47
+ it "assigns a newly created but unsaved product_photo as @product_photo" do
48
+ # Trigger the behavior that occurs when invalid params are submitted
49
+ ProductCategory.any_instance.stub(:save).and_return(false)
50
+
51
+ post :create, { product_id: @product.id, format: "json", :product_photo => { "file" => [nil] } }, valid_session
52
+
53
+ assigns(:product_photo).should be_a_new(ProductPhoto)
54
+ end
55
+ end
56
+ end
57
+
58
+ describe "DELETE destroy" do
59
+ it "destroys the requested product_photo" do
60
+ product_photo = ProductPhoto.create! valid_attributes
61
+
62
+ expect {
63
+ delete :destroy, {:id => product_photo.to_param}, valid_session
64
+ }.to change(ProductPhoto, :count).by(-1)
65
+ end
66
+
67
+ it "redirects to the product" do
68
+ product_photo = ProductPhoto.create! valid_attributes
69
+ product = product_photo.product
70
+ delete :destroy, {:id => product_photo.to_param}, valid_session
71
+ response.should redirect_to(product_url(product))
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,135 @@
1
+ require 'spec_helper'
2
+
3
+ module MechanizeStore
4
+ describe ProductsController do
5
+
6
+ routes { MechanizeStore::Engine.routes }
7
+
8
+ let(:valid_attributes) { { "name" => "MyString" } }
9
+ let(:valid_session) { {} }
10
+
11
+ describe "GET index" do
12
+ it "assigns all products as @products" do
13
+ product = Product.create! valid_attributes
14
+ get :index, {}, valid_session
15
+ assigns(:products).should eq([product])
16
+ end
17
+ end
18
+
19
+ describe "GET show" do
20
+ it "assigns the requested product as @product" do
21
+ product = Product.create! valid_attributes
22
+ get :show, {:id => product.to_param}, valid_session
23
+ assigns(:product).should eq(product)
24
+ end
25
+ end
26
+
27
+ describe "GET new" do
28
+ it "assigns a new product as @product" do
29
+ get :new, {}, valid_session
30
+ assigns(:product).should be_a_new(Product)
31
+ end
32
+ end
33
+
34
+ describe "GET edit" do
35
+ it "assigns the requested product as @product" do
36
+ product = Product.create! valid_attributes
37
+ get :edit, {:id => product.to_param}, valid_session
38
+ assigns(:product).should eq(product)
39
+ end
40
+ end
41
+
42
+ describe "POST create" do
43
+ describe "with valid params" do
44
+ it "creates a new Product" do
45
+ expect {
46
+ post :create, {:product => valid_attributes}, valid_session
47
+ }.to change(Product, :count).by(1)
48
+ end
49
+
50
+ it "assigns a newly created product as @product" do
51
+ post :create, {:product => valid_attributes}, valid_session
52
+ assigns(:product).should be_a(Product)
53
+ assigns(:product).should be_persisted
54
+ end
55
+
56
+ it "redirects to the created product" do
57
+ post :create, {:product => valid_attributes}, valid_session
58
+ response.should redirect_to(Product.last)
59
+ end
60
+ end
61
+
62
+ describe "with invalid params" do
63
+ it "assigns a newly created but unsaved product as @product" do
64
+ # Trigger the behavior that occurs when invalid params are submitted
65
+ Product.any_instance.stub(:save).and_return(false)
66
+ post :create, {:product => { "name" => "invalid value" }}, valid_session
67
+ assigns(:product).should be_a_new(Product)
68
+ end
69
+
70
+ it "re-renders the 'new' template" do
71
+ # Trigger the behavior that occurs when invalid params are submitted
72
+ Product.any_instance.stub(:save).and_return(false)
73
+ post :create, {:product => { "name" => "invalid value" }}, valid_session
74
+ response.should render_template("new")
75
+ end
76
+ end
77
+ end
78
+
79
+ describe "PUT update" do
80
+ describe "with valid params" do
81
+ it "updates the requested product" do
82
+ product = Product.create! valid_attributes
83
+ Product.any_instance.should_receive(:update).with({ "name" => "MyString" })
84
+ put :update, {:id => product.to_param, :product => { "name" => "MyString" }}, valid_session
85
+ end
86
+
87
+ it "assigns the requested product as @product" do
88
+ product = Product.create! valid_attributes
89
+ put :update, {:id => product.to_param, :product => valid_attributes}, valid_session
90
+ assigns(:product).should eq(product)
91
+ end
92
+
93
+ it "redirects to the product" do
94
+ product = Product.create! valid_attributes
95
+ put :update, {:id => product.to_param, :product => valid_attributes}, valid_session
96
+ response.should redirect_to(product)
97
+ end
98
+ end
99
+
100
+ describe "with invalid params" do
101
+ it "assigns the product as @product" do
102
+ product = Product.create! valid_attributes
103
+ # Trigger the behavior that occurs when invalid params are submitted
104
+ Product.any_instance.stub(:save).and_return(false)
105
+ put :update, {:id => product.to_param, :product => { "name" => "invalid value" }}, valid_session
106
+ assigns(:product).should eq(product)
107
+ end
108
+
109
+ it "re-renders the 'edit' template" do
110
+ product = Product.create! valid_attributes
111
+ # Trigger the behavior that occurs when invalid params are submitted
112
+ Product.any_instance.stub(:save).and_return(false)
113
+ put :update, {:id => product.to_param, :product => { "name" => "invalid value" }}, valid_session
114
+ response.should render_template("edit")
115
+ end
116
+ end
117
+ end
118
+
119
+ describe "DELETE destroy" do
120
+ it "destroys the requested product" do
121
+ product = Product.create! valid_attributes
122
+ expect {
123
+ delete :destroy, {:id => product.to_param}, valid_session
124
+ }.to change(Product, :count).by(-1)
125
+ end
126
+
127
+ it "redirects to the products list" do
128
+ product = Product.create! valid_attributes
129
+ delete :destroy, {:id => product.to_param}, valid_session
130
+ response.should redirect_to(products_url)
131
+ end
132
+ end
133
+
134
+ end
135
+ end
@@ -0,0 +1,28 @@
1
+ == README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
25
+
26
+
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Dummy::Application.load_tasks
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Prevent CSRF attacks by raising an exception.
3
+ # For APIs, you may want to use :null_session instead.
4
+ protect_from_forgery with: :exception
5
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
6
+ <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')