solidus_starter_frontend 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +57 -0
  3. data/.erb-lint.yml +22 -0
  4. data/.eslintrc +5 -0
  5. data/.gem_release.yml +5 -0
  6. data/.github/pull_request_template.md +28 -0
  7. data/.github/stale.yml +17 -0
  8. data/.gitignore +17 -0
  9. data/.hound.yml +16 -0
  10. data/.rspec +2 -0
  11. data/.rubocop.yml +19 -0
  12. data/.rubocop_todo.yml +229 -0
  13. data/.scss-lint.yml +4 -0
  14. data/Gemfile +34 -0
  15. data/LICENSE +26 -0
  16. data/README.md +69 -0
  17. data/Rakefile +6 -0
  18. data/app/assets/config/solidus_starter_frontend_manifest.js +2 -0
  19. data/app/assets/javascripts/spree/frontend.js +6 -0
  20. data/app/assets/javascripts/spree/frontend/cart.js +26 -0
  21. data/app/assets/javascripts/spree/frontend/checkout.js +34 -0
  22. data/app/assets/javascripts/spree/frontend/checkout/address.js +124 -0
  23. data/app/assets/javascripts/spree/frontend/checkout/payment.js +44 -0
  24. data/app/assets/javascripts/spree/frontend/locale_selector.js +9 -0
  25. data/app/assets/javascripts/spree/frontend/product.js +21 -0
  26. data/app/assets/javascripts/spree/frontend/solidus_starter_frontend.js +9 -0
  27. data/app/assets/javascripts/spree/frontend/utils.js.erb +18 -0
  28. data/app/assets/stylesheets/spree/frontend.css +8 -0
  29. data/app/assets/stylesheets/spree/frontend/base/_base.scss +29 -0
  30. data/app/assets/stylesheets/spree/frontend/base/_reset.scss +179 -0
  31. data/app/assets/stylesheets/spree/frontend/base/_responsive.scss +21 -0
  32. data/app/assets/stylesheets/spree/frontend/components/account/_account_order.scss +23 -0
  33. data/app/assets/stylesheets/spree/frontend/components/account/_account_summary.scss +17 -0
  34. data/app/assets/stylesheets/spree/frontend/components/auth/_auth_container.scss +11 -0
  35. data/app/assets/stylesheets/spree/frontend/components/auth/_auth_form.scss +5 -0
  36. data/app/assets/stylesheets/spree/frontend/components/brand/_logo.scss +4 -0
  37. data/app/assets/stylesheets/spree/frontend/components/buttons/_button_inline.scss +8 -0
  38. data/app/assets/stylesheets/spree/frontend/components/buttons/_button_primary.scss +26 -0
  39. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_adjustments.scss +6 -0
  40. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_amount_row.scss +11 -0
  41. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_empty.scss +10 -0
  42. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_footer.scss +20 -0
  43. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_header.scss +12 -0
  44. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_item.scss +86 -0
  45. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_link.scss +22 -0
  46. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_page.scss +15 -0
  47. data/app/assets/stylesheets/spree/frontend/components/cart/_cart_secondary_actions.scss +19 -0
  48. data/app/assets/stylesheets/spree/frontend/components/cart/_coupon_code.scss +8 -0
  49. data/app/assets/stylesheets/spree/frontend/components/cart/_item_info.scss +19 -0
  50. data/app/assets/stylesheets/spree/frontend/components/checkout/_checkout.scss +27 -0
  51. data/app/assets/stylesheets/spree/frontend/components/checkout/_checkout_header.scss +19 -0
  52. data/app/assets/stylesheets/spree/frontend/components/checkout/_checkout_summary.scss +31 -0
  53. data/app/assets/stylesheets/spree/frontend/components/checkout/_existing_cards.scss +27 -0
  54. data/app/assets/stylesheets/spree/frontend/components/checkout/_payment_method_controls.scss +5 -0
  55. data/app/assets/stylesheets/spree/frontend/components/checkout/_payment_method_selector.scss +14 -0
  56. data/app/assets/stylesheets/spree/frontend/components/checkout/_progress_steps.scss +38 -0
  57. data/app/assets/stylesheets/spree/frontend/components/checkout/_proposed_shipment.scss +18 -0
  58. data/app/assets/stylesheets/spree/frontend/components/checkout/_shipment_items.scss +50 -0
  59. data/app/assets/stylesheets/spree/frontend/components/checkout/_shipping_methods.scss +9 -0
  60. data/app/assets/stylesheets/spree/frontend/components/checkout/payments/_gateway_payment_method.scss +11 -0
  61. data/app/assets/stylesheets/spree/frontend/components/checkout/steps/_address_step.scss +20 -0
  62. data/app/assets/stylesheets/spree/frontend/components/checkout/steps/_confirm_step.scss +13 -0
  63. data/app/assets/stylesheets/spree/frontend/components/checkout/steps/_delivery_step.scss +13 -0
  64. data/app/assets/stylesheets/spree/frontend/components/checkout/steps/_payment_step.scss +13 -0
  65. data/app/assets/stylesheets/spree/frontend/components/forms/_address_inputs.scss +13 -0
  66. data/app/assets/stylesheets/spree/frontend/components/forms/inputs/_checkbox_input.scss +3 -0
  67. data/app/assets/stylesheets/spree/frontend/components/forms/inputs/_radio_input.scss +3 -0
  68. data/app/assets/stylesheets/spree/frontend/components/forms/inputs/_select_input.scss +27 -0
  69. data/app/assets/stylesheets/spree/frontend/components/forms/inputs/_text.scss +32 -0
  70. data/app/assets/stylesheets/spree/frontend/components/forms/inputs/_textarea_input.scss +25 -0
  71. data/app/assets/stylesheets/spree/frontend/components/general/_flash.scss +20 -0
  72. data/app/assets/stylesheets/spree/frontend/components/layout/_aside.scss +4 -0
  73. data/app/assets/stylesheets/spree/frontend/components/layout/_breadcrumbs.scss +16 -0
  74. data/app/assets/stylesheets/spree/frontend/components/layout/_category_navigation.scss +3 -0
  75. data/app/assets/stylesheets/spree/frontend/components/layout/_footer.scss +8 -0
  76. data/app/assets/stylesheets/spree/frontend/components/layout/_header.scss +12 -0
  77. data/app/assets/stylesheets/spree/frontend/components/layout/_horizontal_input_group.scss +7 -0
  78. data/app/assets/stylesheets/spree/frontend/components/layout/_top_bar.scss +44 -0
  79. data/app/assets/stylesheets/spree/frontend/components/navigation/_auth_link.scss +11 -0
  80. data/app/assets/stylesheets/spree/frontend/components/navigation/_categories.scss +29 -0
  81. data/app/assets/stylesheets/spree/frontend/components/navigation/_locale_selector.scss +21 -0
  82. data/app/assets/stylesheets/spree/frontend/components/navigation/_taxonomies.scss +7 -0
  83. data/app/assets/stylesheets/spree/frontend/components/navigation/_taxonomy.scss +28 -0
  84. data/app/assets/stylesheets/spree/frontend/components/orders/_address_overview.scss +27 -0
  85. data/app/assets/stylesheets/spree/frontend/components/orders/_coupon_codes.scss +4 -0
  86. data/app/assets/stylesheets/spree/frontend/components/orders/_line_items.scss +20 -0
  87. data/app/assets/stylesheets/spree/frontend/components/orders/_order_details.scss +18 -0
  88. data/app/assets/stylesheets/spree/frontend/components/orders/_order_item.scss +85 -0
  89. data/app/assets/stylesheets/spree/frontend/components/orders/_order_page.scss +41 -0
  90. data/app/assets/stylesheets/spree/frontend/components/orders/_order_shipments.scss +27 -0
  91. data/app/assets/stylesheets/spree/frontend/components/orders/_payment_info.scss +29 -0
  92. data/app/assets/stylesheets/spree/frontend/components/presentation/_hero.scss +18 -0
  93. data/app/assets/stylesheets/spree/frontend/components/products/_product_card.scss +35 -0
  94. data/app/assets/stylesheets/spree/frontend/components/products/_product_image.scss +7 -0
  95. data/app/assets/stylesheets/spree/frontend/components/products/_product_info.scss +14 -0
  96. data/app/assets/stylesheets/spree/frontend/components/products/_product_page.scss +31 -0
  97. data/app/assets/stylesheets/spree/frontend/components/products/_product_properties.scss +23 -0
  98. data/app/assets/stylesheets/spree/frontend/components/products/_product_submit.scss +9 -0
  99. data/app/assets/stylesheets/spree/frontend/components/products/_product_taxons.scss +27 -0
  100. data/app/assets/stylesheets/spree/frontend/components/products/_product_thumbnails.scss +7 -0
  101. data/app/assets/stylesheets/spree/frontend/components/products/_product_variants.scss +20 -0
  102. data/app/assets/stylesheets/spree/frontend/components/products/_products.scss +13 -0
  103. data/app/assets/stylesheets/spree/frontend/components/products/_products_by_taxon.scss +6 -0
  104. data/app/assets/stylesheets/spree/frontend/components/products/_products_grid.scss +18 -0
  105. data/app/assets/stylesheets/spree/frontend/components/search/_filter.scss +32 -0
  106. data/app/assets/stylesheets/spree/frontend/components/search/_search_bar.scss +34 -0
  107. data/app/assets/stylesheets/spree/frontend/components/typography/_hero_title.scss +6 -0
  108. data/app/assets/stylesheets/spree/frontend/components/typography/_subtitle.scss +7 -0
  109. data/app/assets/stylesheets/spree/frontend/placeholders/main.scss +5 -0
  110. data/app/assets/stylesheets/spree/frontend/screen.scss +89 -0
  111. data/app/assets/stylesheets/spree/frontend/solidus_starter_frontend.css +7 -0
  112. data/app/assets/stylesheets/spree/frontend/variables/_colors.scss +20 -0
  113. data/app/controllers/concerns/solidus_starter_frontend/auth_views.rb +16 -0
  114. data/app/controllers/concerns/solidus_starter_frontend/taxonomies.rb +16 -0
  115. data/app/controllers/spree/checkout_controller.rb +249 -0
  116. data/app/controllers/spree/coupon_codes_controller.rb +35 -0
  117. data/app/controllers/spree/home_controller.rb +13 -0
  118. data/app/controllers/spree/locale_controller.rb +20 -0
  119. data/app/controllers/spree/orders_controller.rb +126 -0
  120. data/app/controllers/spree/products_controller.rb +51 -0
  121. data/app/controllers/spree/store_controller.rb +31 -0
  122. data/app/controllers/spree/taxons_controller.rb +30 -0
  123. data/app/helpers/spree/orders_helper.rb +18 -0
  124. data/app/helpers/spree/taxon_filters_helper.rb +13 -0
  125. data/app/views/spree/address/_form_hidden.html.erb +12 -0
  126. data/app/views/spree/checkout/_terms_and_conditions.en.html.erb +1 -0
  127. data/app/views/spree/checkout/edit.html.erb +16 -0
  128. data/app/views/spree/checkout/existing_payment/_gateway.html.erb +9 -0
  129. data/app/views/spree/checkout/payment/_check.html.erb +0 -0
  130. data/app/views/spree/checkout/payment/_gateway.html.erb +43 -0
  131. data/app/views/spree/components/auth/_change_form.html.erb +40 -0
  132. data/app/views/spree/components/auth/_forgot_form.html.erb +28 -0
  133. data/app/views/spree/components/auth/_guest_form.html.erb +31 -0
  134. data/app/views/spree/components/auth/_login_form.html.erb +42 -0
  135. data/app/views/spree/components/auth/_signup_form.html.erb +48 -0
  136. data/app/views/spree/components/brand/_logo.html.erb +3 -0
  137. data/app/views/spree/components/buttons/_button_inline.html.erb +23 -0
  138. data/app/views/spree/components/buttons/_button_primary.html.erb +29 -0
  139. data/app/views/spree/components/cart/_cart_adjustment.html.erb +15 -0
  140. data/app/views/spree/components/cart/_cart_adjustments.html.erb +47 -0
  141. data/app/views/spree/components/cart/_cart_amount_row.html.erb +12 -0
  142. data/app/views/spree/components/cart/_cart_empty.html.erb +9 -0
  143. data/app/views/spree/components/cart/_cart_footer.html.erb +15 -0
  144. data/app/views/spree/components/cart/_cart_header.html.erb +17 -0
  145. data/app/views/spree/components/cart/_cart_item.html.erb +52 -0
  146. data/app/views/spree/components/cart/_cart_items.html.erb +23 -0
  147. data/app/views/spree/components/cart/_cart_link.html.erb +9 -0
  148. data/app/views/spree/components/cart/_cart_secondary_actions.html.erb +17 -0
  149. data/app/views/spree/components/cart/_item_info.html.erb +26 -0
  150. data/app/views/spree/components/checkout/_checkout_header.html.erb +8 -0
  151. data/app/views/spree/components/checkout/_checkout_step.html.erb +21 -0
  152. data/app/views/spree/components/checkout/_checkout_summary.html.erb +70 -0
  153. data/app/views/spree/components/checkout/_existing_cards.html.erb +39 -0
  154. data/app/views/spree/components/checkout/_payment_method_controls.html.erb +10 -0
  155. data/app/views/spree/components/checkout/_payment_method_selector.html.erb +14 -0
  156. data/app/views/spree/components/checkout/_proposed_shipment.erb +18 -0
  157. data/app/views/spree/components/checkout/_shipment_items.html.erb +22 -0
  158. data/app/views/spree/components/checkout/_shipping_methods.html.erb +20 -0
  159. data/app/views/spree/components/checkout/_unshippable_items.html.erb +7 -0
  160. data/app/views/spree/components/checkout/steps/_address_step.html.erb +60 -0
  161. data/app/views/spree/components/checkout/steps/_confirm_step.html.erb +31 -0
  162. data/app/views/spree/components/checkout/steps/_delivery_step.html.erb +31 -0
  163. data/app/views/spree/components/checkout/steps/_payment_step.html.erb +25 -0
  164. data/app/views/spree/components/forms/_address_inputs.html.erb +152 -0
  165. data/app/views/spree/components/forms/inputs/_checkbox_input.html.erb +29 -0
  166. data/app/views/spree/components/forms/inputs/_collection_select.html.erb +42 -0
  167. data/app/views/spree/components/forms/inputs/_radio_input.html.erb +29 -0
  168. data/app/views/spree/components/forms/inputs/_select_input.html.erb +31 -0
  169. data/app/views/spree/components/forms/inputs/_text.html.erb +54 -0
  170. data/app/views/spree/components/forms/inputs/_textarea_input.html.erb +42 -0
  171. data/app/views/spree/components/layout/_category_navigation.html.erb +3 -0
  172. data/app/views/spree/components/layout/_footer.html.erb +7 -0
  173. data/app/views/spree/components/layout/_header.html.erb +8 -0
  174. data/app/views/spree/components/layout/_top_bar.html.erb +8 -0
  175. data/app/views/spree/components/navigation/_auth_link.html.erb +1 -0
  176. data/app/views/spree/components/navigation/_breadcrumbs.html.erb +47 -0
  177. data/app/views/spree/components/navigation/_categories.html.erb +12 -0
  178. data/app/views/spree/components/navigation/_locale_selector.html.erb +25 -0
  179. data/app/views/spree/components/navigation/_taxonomies.html.erb +17 -0
  180. data/app/views/spree/components/navigation/_taxons.html.erb +17 -0
  181. data/app/views/spree/components/navigation/_taxons_tree.html.erb +29 -0
  182. data/app/views/spree/components/orders/_address_overview.html.erb +40 -0
  183. data/app/views/spree/components/orders/_coupon_code.html.erb +22 -0
  184. data/app/views/spree/components/orders/_line_items.html.erb +55 -0
  185. data/app/views/spree/components/orders/_order_details.html.erb +35 -0
  186. data/app/views/spree/components/orders/_order_item.html.erb +33 -0
  187. data/app/views/spree/components/orders/_order_items.html.erb +5 -0
  188. data/app/views/spree/components/orders/_order_shipments.html.erb +25 -0
  189. data/app/views/spree/components/orders/_payment_info.html.erb +31 -0
  190. data/app/views/spree/components/presentation/_hero.html.erb +14 -0
  191. data/app/views/spree/components/products/_product-card.html.erb +36 -0
  192. data/app/views/spree/components/products/_product_availability.html.erb +19 -0
  193. data/app/views/spree/components/products/_product_form.html.erb +21 -0
  194. data/app/views/spree/components/products/_product_image.html.erb +6 -0
  195. data/app/views/spree/components/products/_product_info.html.erb +9 -0
  196. data/app/views/spree/components/products/_product_promotions.html.erb +25 -0
  197. data/app/views/spree/components/products/_product_properties.html.erb +19 -0
  198. data/app/views/spree/components/products/_product_submit.html.erb +39 -0
  199. data/app/views/spree/components/products/_product_taxons.html.erb +15 -0
  200. data/app/views/spree/components/products/_product_thumbnails.html.erb +19 -0
  201. data/app/views/spree/components/products/_product_variants.html.erb +36 -0
  202. data/app/views/spree/components/products/_products-grid.html.erb +13 -0
  203. data/app/views/spree/components/products/_products.html.erb +28 -0
  204. data/app/views/spree/components/products/_products_by_taxon.html.erb +7 -0
  205. data/app/views/spree/components/products/_variants_list.html.erb +12 -0
  206. data/app/views/spree/components/search/_filter.html.erb +42 -0
  207. data/app/views/spree/components/search/_filters.html.erb +20 -0
  208. data/app/views/spree/components/search/_form.html.erb +12 -0
  209. data/app/views/spree/components/search/_products_search.html.erb +36 -0
  210. data/app/views/spree/components/search/_search_bar.html.erb +36 -0
  211. data/app/views/spree/components/typography/_hero_title.html.erb +11 -0
  212. data/app/views/spree/components/typography/_subtitle.html.erb +11 -0
  213. data/app/views/spree/home/index.html.erb +7 -0
  214. data/app/views/spree/layouts/spree_application.html.erb +27 -0
  215. data/app/views/spree/orders/edit.html.erb +21 -0
  216. data/app/views/spree/orders/show.html.erb +29 -0
  217. data/app/views/spree/products/index.html.erb +22 -0
  218. data/app/views/spree/products/show.html.erb +18 -0
  219. data/app/views/spree/shared/_image.html.erb +12 -0
  220. data/app/views/spree/shared/_link_to_cart.html.erb +1 -0
  221. data/app/views/spree/shared/_login_bar_items.html.erb +1 -0
  222. data/app/views/spree/shared/_shipment_tracking.html.erb +11 -0
  223. data/app/views/spree/shared/unauthorized.html.erb +0 -0
  224. data/app/views/spree/taxons/show.html.erb +17 -0
  225. data/bin/console +17 -0
  226. data/bin/r +13 -0
  227. data/bin/rails +7 -0
  228. data/bin/rake +7 -0
  229. data/bin/rspec +29 -0
  230. data/bin/sandbox +84 -0
  231. data/bin/sandbox_rails +18 -0
  232. data/bin/setup +8 -0
  233. data/bin/solidus_compare +155 -0
  234. data/config/initializers/assets.rb +1 -0
  235. data/config/initializers/canonical_rails.rb +16 -0
  236. data/config/locales/en.yml +5 -0
  237. data/config/routes.rb +33 -0
  238. data/config/solidus_compare.yml +33 -0
  239. data/docs/development.md +28 -0
  240. data/exe/solidus_starter_frontend +9 -0
  241. data/lib/generators/solidus_starter_frontend/install/install_generator.rb +15 -0
  242. data/lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb +30 -0
  243. data/lib/generators/solidus_starter_frontend/views/override_generator.rb +50 -0
  244. data/lib/solidus_starter_frontend.rb +12 -0
  245. data/lib/solidus_starter_frontend/config.rb +7 -0
  246. data/lib/solidus_starter_frontend/engine.rb +34 -0
  247. data/lib/solidus_starter_frontend/factories.rb +4 -0
  248. data/lib/solidus_starter_frontend/solidus_support_extensions.rb +9 -0
  249. data/lib/solidus_starter_frontend/version.rb +5 -0
  250. data/lib/solidus_starter_frontend_configuration.rb +8 -0
  251. data/lib/views/auth/spree/checkout/registration.html.erb +7 -0
  252. data/lib/views/auth/spree/components/navigation/_auth_link.html.erb +5 -0
  253. data/lib/views/auth/spree/user_passwords/edit.html.erb +7 -0
  254. data/lib/views/auth/spree/user_passwords/new.html.erb +5 -0
  255. data/lib/views/auth/spree/user_registrations/new.html.erb +7 -0
  256. data/lib/views/auth/spree/user_sessions/guest.html.erb +5 -0
  257. data/lib/views/auth/spree/user_sessions/new.html.erb +7 -0
  258. data/lib/views/auth/spree/users/edit.html.erb +45 -0
  259. data/lib/views/auth/spree/users/show.html.erb +55 -0
  260. data/solidus_starter_frontend.gemspec +43 -0
  261. data/spec/controllers/controller_helpers_spec.rb +29 -0
  262. data/spec/controllers/locale_controller_spec.rb +57 -0
  263. data/spec/controllers/spree/checkout_controller_spec.rb +563 -0
  264. data/spec/controllers/spree/checkout_controller_with_views_spec.rb +37 -0
  265. data/spec/controllers/spree/current_order_tracking_spec.rb +33 -0
  266. data/spec/controllers/spree/home_controller_spec.rb +29 -0
  267. data/spec/controllers/spree/orders_controller_ability_spec.rb +90 -0
  268. data/spec/controllers/spree/orders_controller_spec.rb +241 -0
  269. data/spec/controllers/spree/orders_controller_transitions_spec.rb +33 -0
  270. data/spec/controllers/spree/products_controller_spec.rb +38 -0
  271. data/spec/controllers/spree/taxons_controller_spec.rb +14 -0
  272. data/spec/fixtures/thinking-cat.jpg +0 -0
  273. data/spec/generators/solidus/views/override_generator_spec.rb +50 -0
  274. data/spec/helpers/base_helper_spec.rb +13 -0
  275. data/spec/helpers/order_helper_spec.rb +14 -0
  276. data/spec/helpers/taxon_filters_helper_spec.rb +12 -0
  277. data/spec/spec_helper.rb +64 -0
  278. data/spec/support/shared_contexts/checkout_setup.rb +12 -0
  279. data/spec/support/shared_contexts/custom_products.rb +28 -0
  280. data/spec/support/shared_contexts/locales.rb +16 -0
  281. data/spec/system/address_spec.rb +87 -0
  282. data/spec/system/automatic_promotion_adjustments_spec.rb +49 -0
  283. data/spec/system/caching/products_spec.rb +48 -0
  284. data/spec/system/caching/taxons_spec.rb +35 -0
  285. data/spec/system/cart_spec.rb +81 -0
  286. data/spec/system/checkout_confirm_insufficient_stock_spec.rb +71 -0
  287. data/spec/system/checkout_spec.rb +699 -0
  288. data/spec/system/checkout_unshippable_spec.rb +37 -0
  289. data/spec/system/coupon_code_spec.rb +267 -0
  290. data/spec/system/currency_spec.rb +20 -0
  291. data/spec/system/first_order_promotion_spec.rb +59 -0
  292. data/spec/system/free_shipping_promotions_spec.rb +60 -0
  293. data/spec/system/locale_spec.rb +26 -0
  294. data/spec/system/order_spec.rb +57 -0
  295. data/spec/system/products_spec.rb +302 -0
  296. data/spec/system/promotion_code_invalidation_spec.rb +54 -0
  297. data/spec/system/quantity_promotions_spec.rb +130 -0
  298. data/spec/system/taxons_spec.rb +158 -0
  299. data/spec/system/template_rendering_spec.rb +20 -0
  300. data/spec/views/spree/checkout/_summary_spec.rb +11 -0
  301. metadata +542 -0
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'viewing products', type: :system, inaccessible: true do
6
+ let!(:taxonomy) { create(:taxonomy, name: "Category") }
7
+ let!(:super_clothing) { create(:taxon, name: "Super Clothing", parent: taxonomy.root, taxonomy: taxonomy) }
8
+ let!(:t_shirts) { create(:taxon, name: "T-Shirts", parent: super_clothing, taxonomy: taxonomy) }
9
+ let!(:xxl) { create(:taxon, name: "XXL", parent: t_shirts, taxonomy: taxonomy) }
10
+ let!(:product) do
11
+ product = create(:product, name: "Superman T-Shirt")
12
+ product.taxons << t_shirts
13
+ end
14
+ let(:metas) { { meta_description: 'Brand new Ruby on Rails TShirts', meta_title: "Ruby On Rails TShirt", meta_keywords: 'ror, tshirt, ruby' } }
15
+ let(:store_name) do
16
+ ((first_store = Spree::Store.first) && first_store.name).to_s
17
+ end
18
+
19
+ # Regression test for https://github.com/spree/spree/issues/1796
20
+ it "can see a taxon's products, even if that taxon has child taxons" do
21
+ visit '/t/category/super-clothing/t-shirts'
22
+ expect(page).to have_content("Superman T-Shirt")
23
+ end
24
+
25
+ it "shouldn't show nested taxons with a search" do
26
+ visit '/t/category/super-clothing?keywords=shirt'
27
+ expect(page).to have_content("Superman T-Shirt")
28
+ expect(page).not_to have_selector("div[data-hook='taxon_children']")
29
+ end
30
+
31
+ describe 'meta tags and title' do
32
+ it 'displays metas' do
33
+ t_shirts.update metas
34
+ visit '/t/category/super-clothing/t-shirts'
35
+ expect(page).to have_meta(:description, 'Brand new Ruby on Rails TShirts')
36
+ expect(page).to have_meta(:keywords, 'ror, tshirt, ruby')
37
+ end
38
+
39
+ it 'display title if set' do
40
+ t_shirts.update metas
41
+ visit '/t/category/super-clothing/t-shirts'
42
+ expect(page).to have_title("Ruby On Rails TShirt")
43
+ end
44
+
45
+ it 'displays title from taxon root and taxon name' do
46
+ visit '/t/category/super-clothing/t-shirts'
47
+ expect(page).to have_title('Category - T-Shirts - ' + store_name)
48
+ end
49
+
50
+ # Regression test for https://github.com/spree/spree/issues/2814
51
+ it "doesn't use meta_title as heading on page" do
52
+ t_shirts.update metas
53
+ visit '/t/category/super-clothing/t-shirts'
54
+ within("h1.products__taxon-title") do
55
+ expect(page).to have_content(t_shirts.name)
56
+ end
57
+ end
58
+
59
+ it 'uses taxon name in title when meta_title set to empty string' do
60
+ t_shirts.update meta_title: ''
61
+ visit '/t/category/super-clothing/t-shirts'
62
+ expect(page).to have_title('Category - T-Shirts - ' + store_name)
63
+ end
64
+ end
65
+
66
+ context "taxon pages" do
67
+ include_context "custom products"
68
+ before do
69
+ visit spree.products_path
70
+ end
71
+
72
+ it "should be able to visit brand Ruby on Rails" do
73
+ within(:css, '.taxonomies') { click_link "Ruby on Rails" }
74
+
75
+ expect(page.all('ul.products-grid li').size).to eq(7)
76
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
77
+ tmp.delete("")
78
+ array = ["Ruby on Rails Bag",
79
+ "Ruby on Rails Baseball Jersey",
80
+ "Ruby on Rails Jr. Spaghetti",
81
+ "Ruby on Rails Mug",
82
+ "Ruby on Rails Ringer T-Shirt",
83
+ "Ruby on Rails Stein",
84
+ "Ruby on Rails Tote"]
85
+ expect(tmp.sort!).to eq(array)
86
+ end
87
+
88
+ it "should be able to visit brand Ruby" do
89
+ within(:css, '.taxonomies') { click_link "Ruby" }
90
+
91
+ expect(page.all('ul.products-grid li').size).to eq(1)
92
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
93
+ tmp.delete("")
94
+ expect(tmp.sort!).to eq(["Ruby Baseball Jersey"])
95
+ end
96
+
97
+ it "should be able to visit brand Apache" do
98
+ within(:css, '.taxonomies') { click_link "Apache" }
99
+
100
+ expect(page.all('ul.products-grid li').size).to eq(1)
101
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
102
+ tmp.delete("")
103
+ expect(tmp.sort!).to eq(["Apache Baseball Jersey"])
104
+ end
105
+
106
+ it "should be able to visit category Clothing" do
107
+ click_link "Clothing"
108
+
109
+ expect(page.all('ul.products-grid li').size).to eq(5)
110
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
111
+ tmp.delete("")
112
+ expect(tmp.sort!).to eq(["Apache Baseball Jersey",
113
+ "Ruby Baseball Jersey",
114
+ "Ruby on Rails Baseball Jersey",
115
+ "Ruby on Rails Jr. Spaghetti",
116
+ "Ruby on Rails Ringer T-Shirt"])
117
+ end
118
+
119
+ it "should be able to visit category Mugs" do
120
+ click_link "Mugs"
121
+
122
+ expect(page.all('ul.products-grid li').size).to eq(2)
123
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
124
+ tmp.delete("")
125
+ expect(tmp.sort!).to eq(["Ruby on Rails Mug", "Ruby on Rails Stein"])
126
+ end
127
+
128
+ it "should be able to visit category Bags" do
129
+ click_link "Bags"
130
+
131
+ expect(page.all('ul.products-grid li').size).to eq(2)
132
+ tmp = page.all('ul.products-grid li a').map(&:text).flatten.compact
133
+ tmp.delete("")
134
+ expect(tmp.sort!).to eq(["Ruby on Rails Bag", "Ruby on Rails Tote"])
135
+ end
136
+ end
137
+
138
+ # Regression test for https://github.com/solidusio/solidus/issues/2602
139
+ context "root taxon page" do
140
+ it "shows taxon previews" do
141
+ visit spree.nested_taxons_path(taxonomy.root)
142
+
143
+ expect(page).to have_css('ul.products-grid li', count: 2)
144
+ expect(page).to have_content("Superman T-Shirt", count: 2)
145
+ end
146
+
147
+ context "with prices in other currency" do
148
+ before { Spree::Price.update_all(currency: "CAD") }
149
+
150
+ it "shows no products" do
151
+ visit spree.nested_taxons_path(taxonomy.root)
152
+
153
+ expect(page).to have_css('ul.products-grid li', count: 0)
154
+ expect(page).to have_no_content("Superman T-Shirt")
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'Template rendering', type: :system do
6
+ after do
7
+ Capybara.ignore_hidden_elements = true
8
+ end
9
+
10
+ before do
11
+ Capybara.ignore_hidden_elements = false
12
+ end
13
+
14
+ it 'layout should have canonical tag referencing site url' do
15
+ Spree::Store.create!(code: 'spree', name: 'My Spree Store', url: 'spreestore.example.com', mail_from_address: 'test@example.com')
16
+
17
+ visit spree.root_path
18
+ expect(find('link[rel=canonical]')[:href]).to eql('http://spreestore.example.com/')
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'spree/components/checkout/_checkout_summary.html.erb', type: :view do
6
+ # Regression spec for https://github.com/spree/spree/issues/4223
7
+ it 'does not use the @order instance variable' do
8
+ order = stub_model(Spree::Order)
9
+ render partial: 'spree/components/checkout/checkout_summary', locals: { order: order }
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,542 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: solidus_starter_frontend
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Nebulab
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: canonical-rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: generator_spec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: solidus_api
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '3'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '2.0'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '3'
61
+ - !ruby/object:Gem::Dependency
62
+ name: solidus_core
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 2.0.0
68
+ - - "<"
69
+ - !ruby/object:Gem::Version
70
+ version: '3'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: 2.0.0
78
+ - - "<"
79
+ - !ruby/object:Gem::Version
80
+ version: '3'
81
+ - !ruby/object:Gem::Dependency
82
+ name: solidus_support
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.5'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.5'
95
+ - !ruby/object:Gem::Dependency
96
+ name: truncate_html
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '0.9'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 0.9.2
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '0.9'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 0.9.2
115
+ - !ruby/object:Gem::Dependency
116
+ name: rails-controller-testing
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: rspec-activemodel-mocks
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: selenium-webdriver
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ - !ruby/object:Gem::Dependency
158
+ name: solidus_dev_support
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ description: Cart and storefront for the Solidus e-commerce project.
172
+ email: hello@nebulab.it
173
+ executables:
174
+ - solidus_starter_frontend
175
+ extensions: []
176
+ extra_rdoc_files: []
177
+ files:
178
+ - ".circleci/config.yml"
179
+ - ".erb-lint.yml"
180
+ - ".eslintrc"
181
+ - ".gem_release.yml"
182
+ - ".github/pull_request_template.md"
183
+ - ".github/stale.yml"
184
+ - ".gitignore"
185
+ - ".hound.yml"
186
+ - ".rspec"
187
+ - ".rubocop.yml"
188
+ - ".rubocop_todo.yml"
189
+ - ".scss-lint.yml"
190
+ - Gemfile
191
+ - LICENSE
192
+ - README.md
193
+ - Rakefile
194
+ - app/assets/config/solidus_starter_frontend_manifest.js
195
+ - app/assets/javascripts/spree/frontend.js
196
+ - app/assets/javascripts/spree/frontend/cart.js
197
+ - app/assets/javascripts/spree/frontend/checkout.js
198
+ - app/assets/javascripts/spree/frontend/checkout/address.js
199
+ - app/assets/javascripts/spree/frontend/checkout/payment.js
200
+ - app/assets/javascripts/spree/frontend/locale_selector.js
201
+ - app/assets/javascripts/spree/frontend/product.js
202
+ - app/assets/javascripts/spree/frontend/solidus_starter_frontend.js
203
+ - app/assets/javascripts/spree/frontend/utils.js.erb
204
+ - app/assets/stylesheets/spree/frontend.css
205
+ - app/assets/stylesheets/spree/frontend/base/_base.scss
206
+ - app/assets/stylesheets/spree/frontend/base/_reset.scss
207
+ - app/assets/stylesheets/spree/frontend/base/_responsive.scss
208
+ - app/assets/stylesheets/spree/frontend/components/account/_account_order.scss
209
+ - app/assets/stylesheets/spree/frontend/components/account/_account_summary.scss
210
+ - app/assets/stylesheets/spree/frontend/components/auth/_auth_container.scss
211
+ - app/assets/stylesheets/spree/frontend/components/auth/_auth_form.scss
212
+ - app/assets/stylesheets/spree/frontend/components/brand/_logo.scss
213
+ - app/assets/stylesheets/spree/frontend/components/buttons/_button_inline.scss
214
+ - app/assets/stylesheets/spree/frontend/components/buttons/_button_primary.scss
215
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_adjustments.scss
216
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_amount_row.scss
217
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_empty.scss
218
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_footer.scss
219
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_header.scss
220
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_item.scss
221
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_link.scss
222
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_page.scss
223
+ - app/assets/stylesheets/spree/frontend/components/cart/_cart_secondary_actions.scss
224
+ - app/assets/stylesheets/spree/frontend/components/cart/_coupon_code.scss
225
+ - app/assets/stylesheets/spree/frontend/components/cart/_item_info.scss
226
+ - app/assets/stylesheets/spree/frontend/components/checkout/_checkout.scss
227
+ - app/assets/stylesheets/spree/frontend/components/checkout/_checkout_header.scss
228
+ - app/assets/stylesheets/spree/frontend/components/checkout/_checkout_summary.scss
229
+ - app/assets/stylesheets/spree/frontend/components/checkout/_existing_cards.scss
230
+ - app/assets/stylesheets/spree/frontend/components/checkout/_payment_method_controls.scss
231
+ - app/assets/stylesheets/spree/frontend/components/checkout/_payment_method_selector.scss
232
+ - app/assets/stylesheets/spree/frontend/components/checkout/_progress_steps.scss
233
+ - app/assets/stylesheets/spree/frontend/components/checkout/_proposed_shipment.scss
234
+ - app/assets/stylesheets/spree/frontend/components/checkout/_shipment_items.scss
235
+ - app/assets/stylesheets/spree/frontend/components/checkout/_shipping_methods.scss
236
+ - app/assets/stylesheets/spree/frontend/components/checkout/payments/_gateway_payment_method.scss
237
+ - app/assets/stylesheets/spree/frontend/components/checkout/steps/_address_step.scss
238
+ - app/assets/stylesheets/spree/frontend/components/checkout/steps/_confirm_step.scss
239
+ - app/assets/stylesheets/spree/frontend/components/checkout/steps/_delivery_step.scss
240
+ - app/assets/stylesheets/spree/frontend/components/checkout/steps/_payment_step.scss
241
+ - app/assets/stylesheets/spree/frontend/components/forms/_address_inputs.scss
242
+ - app/assets/stylesheets/spree/frontend/components/forms/inputs/_checkbox_input.scss
243
+ - app/assets/stylesheets/spree/frontend/components/forms/inputs/_radio_input.scss
244
+ - app/assets/stylesheets/spree/frontend/components/forms/inputs/_select_input.scss
245
+ - app/assets/stylesheets/spree/frontend/components/forms/inputs/_text.scss
246
+ - app/assets/stylesheets/spree/frontend/components/forms/inputs/_textarea_input.scss
247
+ - app/assets/stylesheets/spree/frontend/components/general/_flash.scss
248
+ - app/assets/stylesheets/spree/frontend/components/layout/_aside.scss
249
+ - app/assets/stylesheets/spree/frontend/components/layout/_breadcrumbs.scss
250
+ - app/assets/stylesheets/spree/frontend/components/layout/_category_navigation.scss
251
+ - app/assets/stylesheets/spree/frontend/components/layout/_footer.scss
252
+ - app/assets/stylesheets/spree/frontend/components/layout/_header.scss
253
+ - app/assets/stylesheets/spree/frontend/components/layout/_horizontal_input_group.scss
254
+ - app/assets/stylesheets/spree/frontend/components/layout/_top_bar.scss
255
+ - app/assets/stylesheets/spree/frontend/components/navigation/_auth_link.scss
256
+ - app/assets/stylesheets/spree/frontend/components/navigation/_categories.scss
257
+ - app/assets/stylesheets/spree/frontend/components/navigation/_locale_selector.scss
258
+ - app/assets/stylesheets/spree/frontend/components/navigation/_taxonomies.scss
259
+ - app/assets/stylesheets/spree/frontend/components/navigation/_taxonomy.scss
260
+ - app/assets/stylesheets/spree/frontend/components/orders/_address_overview.scss
261
+ - app/assets/stylesheets/spree/frontend/components/orders/_coupon_codes.scss
262
+ - app/assets/stylesheets/spree/frontend/components/orders/_line_items.scss
263
+ - app/assets/stylesheets/spree/frontend/components/orders/_order_details.scss
264
+ - app/assets/stylesheets/spree/frontend/components/orders/_order_item.scss
265
+ - app/assets/stylesheets/spree/frontend/components/orders/_order_page.scss
266
+ - app/assets/stylesheets/spree/frontend/components/orders/_order_shipments.scss
267
+ - app/assets/stylesheets/spree/frontend/components/orders/_payment_info.scss
268
+ - app/assets/stylesheets/spree/frontend/components/presentation/_hero.scss
269
+ - app/assets/stylesheets/spree/frontend/components/products/_product_card.scss
270
+ - app/assets/stylesheets/spree/frontend/components/products/_product_image.scss
271
+ - app/assets/stylesheets/spree/frontend/components/products/_product_info.scss
272
+ - app/assets/stylesheets/spree/frontend/components/products/_product_page.scss
273
+ - app/assets/stylesheets/spree/frontend/components/products/_product_properties.scss
274
+ - app/assets/stylesheets/spree/frontend/components/products/_product_submit.scss
275
+ - app/assets/stylesheets/spree/frontend/components/products/_product_taxons.scss
276
+ - app/assets/stylesheets/spree/frontend/components/products/_product_thumbnails.scss
277
+ - app/assets/stylesheets/spree/frontend/components/products/_product_variants.scss
278
+ - app/assets/stylesheets/spree/frontend/components/products/_products.scss
279
+ - app/assets/stylesheets/spree/frontend/components/products/_products_by_taxon.scss
280
+ - app/assets/stylesheets/spree/frontend/components/products/_products_grid.scss
281
+ - app/assets/stylesheets/spree/frontend/components/search/_filter.scss
282
+ - app/assets/stylesheets/spree/frontend/components/search/_search_bar.scss
283
+ - app/assets/stylesheets/spree/frontend/components/typography/_hero_title.scss
284
+ - app/assets/stylesheets/spree/frontend/components/typography/_subtitle.scss
285
+ - app/assets/stylesheets/spree/frontend/placeholders/main.scss
286
+ - app/assets/stylesheets/spree/frontend/screen.scss
287
+ - app/assets/stylesheets/spree/frontend/solidus_starter_frontend.css
288
+ - app/assets/stylesheets/spree/frontend/variables/_colors.scss
289
+ - app/controllers/concerns/solidus_starter_frontend/auth_views.rb
290
+ - app/controllers/concerns/solidus_starter_frontend/taxonomies.rb
291
+ - app/controllers/spree/checkout_controller.rb
292
+ - app/controllers/spree/coupon_codes_controller.rb
293
+ - app/controllers/spree/home_controller.rb
294
+ - app/controllers/spree/locale_controller.rb
295
+ - app/controllers/spree/orders_controller.rb
296
+ - app/controllers/spree/products_controller.rb
297
+ - app/controllers/spree/store_controller.rb
298
+ - app/controllers/spree/taxons_controller.rb
299
+ - app/helpers/spree/orders_helper.rb
300
+ - app/helpers/spree/taxon_filters_helper.rb
301
+ - app/views/spree/address/_form_hidden.html.erb
302
+ - app/views/spree/checkout/_terms_and_conditions.en.html.erb
303
+ - app/views/spree/checkout/edit.html.erb
304
+ - app/views/spree/checkout/existing_payment/_gateway.html.erb
305
+ - app/views/spree/checkout/payment/_check.html.erb
306
+ - app/views/spree/checkout/payment/_gateway.html.erb
307
+ - app/views/spree/components/auth/_change_form.html.erb
308
+ - app/views/spree/components/auth/_forgot_form.html.erb
309
+ - app/views/spree/components/auth/_guest_form.html.erb
310
+ - app/views/spree/components/auth/_login_form.html.erb
311
+ - app/views/spree/components/auth/_signup_form.html.erb
312
+ - app/views/spree/components/brand/_logo.html.erb
313
+ - app/views/spree/components/buttons/_button_inline.html.erb
314
+ - app/views/spree/components/buttons/_button_primary.html.erb
315
+ - app/views/spree/components/cart/_cart_adjustment.html.erb
316
+ - app/views/spree/components/cart/_cart_adjustments.html.erb
317
+ - app/views/spree/components/cart/_cart_amount_row.html.erb
318
+ - app/views/spree/components/cart/_cart_empty.html.erb
319
+ - app/views/spree/components/cart/_cart_footer.html.erb
320
+ - app/views/spree/components/cart/_cart_header.html.erb
321
+ - app/views/spree/components/cart/_cart_item.html.erb
322
+ - app/views/spree/components/cart/_cart_items.html.erb
323
+ - app/views/spree/components/cart/_cart_link.html.erb
324
+ - app/views/spree/components/cart/_cart_secondary_actions.html.erb
325
+ - app/views/spree/components/cart/_item_info.html.erb
326
+ - app/views/spree/components/checkout/_checkout_header.html.erb
327
+ - app/views/spree/components/checkout/_checkout_step.html.erb
328
+ - app/views/spree/components/checkout/_checkout_summary.html.erb
329
+ - app/views/spree/components/checkout/_existing_cards.html.erb
330
+ - app/views/spree/components/checkout/_payment_method_controls.html.erb
331
+ - app/views/spree/components/checkout/_payment_method_selector.html.erb
332
+ - app/views/spree/components/checkout/_proposed_shipment.erb
333
+ - app/views/spree/components/checkout/_shipment_items.html.erb
334
+ - app/views/spree/components/checkout/_shipping_methods.html.erb
335
+ - app/views/spree/components/checkout/_unshippable_items.html.erb
336
+ - app/views/spree/components/checkout/steps/_address_step.html.erb
337
+ - app/views/spree/components/checkout/steps/_confirm_step.html.erb
338
+ - app/views/spree/components/checkout/steps/_delivery_step.html.erb
339
+ - app/views/spree/components/checkout/steps/_payment_step.html.erb
340
+ - app/views/spree/components/forms/_address_inputs.html.erb
341
+ - app/views/spree/components/forms/inputs/_checkbox_input.html.erb
342
+ - app/views/spree/components/forms/inputs/_collection_select.html.erb
343
+ - app/views/spree/components/forms/inputs/_radio_input.html.erb
344
+ - app/views/spree/components/forms/inputs/_select_input.html.erb
345
+ - app/views/spree/components/forms/inputs/_text.html.erb
346
+ - app/views/spree/components/forms/inputs/_textarea_input.html.erb
347
+ - app/views/spree/components/layout/_category_navigation.html.erb
348
+ - app/views/spree/components/layout/_footer.html.erb
349
+ - app/views/spree/components/layout/_header.html.erb
350
+ - app/views/spree/components/layout/_top_bar.html.erb
351
+ - app/views/spree/components/navigation/_auth_link.html.erb
352
+ - app/views/spree/components/navigation/_breadcrumbs.html.erb
353
+ - app/views/spree/components/navigation/_categories.html.erb
354
+ - app/views/spree/components/navigation/_locale_selector.html.erb
355
+ - app/views/spree/components/navigation/_taxonomies.html.erb
356
+ - app/views/spree/components/navigation/_taxons.html.erb
357
+ - app/views/spree/components/navigation/_taxons_tree.html.erb
358
+ - app/views/spree/components/orders/_address_overview.html.erb
359
+ - app/views/spree/components/orders/_coupon_code.html.erb
360
+ - app/views/spree/components/orders/_line_items.html.erb
361
+ - app/views/spree/components/orders/_order_details.html.erb
362
+ - app/views/spree/components/orders/_order_item.html.erb
363
+ - app/views/spree/components/orders/_order_items.html.erb
364
+ - app/views/spree/components/orders/_order_shipments.html.erb
365
+ - app/views/spree/components/orders/_payment_info.html.erb
366
+ - app/views/spree/components/presentation/_hero.html.erb
367
+ - app/views/spree/components/products/_product-card.html.erb
368
+ - app/views/spree/components/products/_product_availability.html.erb
369
+ - app/views/spree/components/products/_product_form.html.erb
370
+ - app/views/spree/components/products/_product_image.html.erb
371
+ - app/views/spree/components/products/_product_info.html.erb
372
+ - app/views/spree/components/products/_product_promotions.html.erb
373
+ - app/views/spree/components/products/_product_properties.html.erb
374
+ - app/views/spree/components/products/_product_submit.html.erb
375
+ - app/views/spree/components/products/_product_taxons.html.erb
376
+ - app/views/spree/components/products/_product_thumbnails.html.erb
377
+ - app/views/spree/components/products/_product_variants.html.erb
378
+ - app/views/spree/components/products/_products-grid.html.erb
379
+ - app/views/spree/components/products/_products.html.erb
380
+ - app/views/spree/components/products/_products_by_taxon.html.erb
381
+ - app/views/spree/components/products/_variants_list.html.erb
382
+ - app/views/spree/components/search/_filter.html.erb
383
+ - app/views/spree/components/search/_filters.html.erb
384
+ - app/views/spree/components/search/_form.html.erb
385
+ - app/views/spree/components/search/_products_search.html.erb
386
+ - app/views/spree/components/search/_search_bar.html.erb
387
+ - app/views/spree/components/typography/_hero_title.html.erb
388
+ - app/views/spree/components/typography/_subtitle.html.erb
389
+ - app/views/spree/home/index.html.erb
390
+ - app/views/spree/layouts/spree_application.html.erb
391
+ - app/views/spree/orders/edit.html.erb
392
+ - app/views/spree/orders/show.html.erb
393
+ - app/views/spree/products/index.html.erb
394
+ - app/views/spree/products/show.html.erb
395
+ - app/views/spree/shared/_image.html.erb
396
+ - app/views/spree/shared/_link_to_cart.html.erb
397
+ - app/views/spree/shared/_login_bar_items.html.erb
398
+ - app/views/spree/shared/_shipment_tracking.html.erb
399
+ - app/views/spree/shared/unauthorized.html.erb
400
+ - app/views/spree/taxons/show.html.erb
401
+ - bin/console
402
+ - bin/r
403
+ - bin/rails
404
+ - bin/rake
405
+ - bin/rspec
406
+ - bin/sandbox
407
+ - bin/sandbox_rails
408
+ - bin/setup
409
+ - bin/solidus_compare
410
+ - config/initializers/assets.rb
411
+ - config/initializers/canonical_rails.rb
412
+ - config/locales/en.yml
413
+ - config/routes.rb
414
+ - config/solidus_compare.yml
415
+ - docs/development.md
416
+ - exe/solidus_starter_frontend
417
+ - lib/generators/solidus_starter_frontend/install/install_generator.rb
418
+ - lib/generators/solidus_starter_frontend/solidus_starter_frontend_generator.rb
419
+ - lib/generators/solidus_starter_frontend/views/override_generator.rb
420
+ - lib/solidus_starter_frontend.rb
421
+ - lib/solidus_starter_frontend/config.rb
422
+ - lib/solidus_starter_frontend/engine.rb
423
+ - lib/solidus_starter_frontend/factories.rb
424
+ - lib/solidus_starter_frontend/solidus_support_extensions.rb
425
+ - lib/solidus_starter_frontend/version.rb
426
+ - lib/solidus_starter_frontend_configuration.rb
427
+ - lib/views/auth/spree/checkout/registration.html.erb
428
+ - lib/views/auth/spree/components/navigation/_auth_link.html.erb
429
+ - lib/views/auth/spree/user_passwords/edit.html.erb
430
+ - lib/views/auth/spree/user_passwords/new.html.erb
431
+ - lib/views/auth/spree/user_registrations/new.html.erb
432
+ - lib/views/auth/spree/user_sessions/guest.html.erb
433
+ - lib/views/auth/spree/user_sessions/new.html.erb
434
+ - lib/views/auth/spree/users/edit.html.erb
435
+ - lib/views/auth/spree/users/show.html.erb
436
+ - solidus_starter_frontend.gemspec
437
+ - spec/controllers/controller_helpers_spec.rb
438
+ - spec/controllers/locale_controller_spec.rb
439
+ - spec/controllers/spree/checkout_controller_spec.rb
440
+ - spec/controllers/spree/checkout_controller_with_views_spec.rb
441
+ - spec/controllers/spree/current_order_tracking_spec.rb
442
+ - spec/controllers/spree/home_controller_spec.rb
443
+ - spec/controllers/spree/orders_controller_ability_spec.rb
444
+ - spec/controllers/spree/orders_controller_spec.rb
445
+ - spec/controllers/spree/orders_controller_transitions_spec.rb
446
+ - spec/controllers/spree/products_controller_spec.rb
447
+ - spec/controllers/spree/taxons_controller_spec.rb
448
+ - spec/fixtures/thinking-cat.jpg
449
+ - spec/generators/solidus/views/override_generator_spec.rb
450
+ - spec/helpers/base_helper_spec.rb
451
+ - spec/helpers/order_helper_spec.rb
452
+ - spec/helpers/taxon_filters_helper_spec.rb
453
+ - spec/spec_helper.rb
454
+ - spec/support/shared_contexts/checkout_setup.rb
455
+ - spec/support/shared_contexts/custom_products.rb
456
+ - spec/support/shared_contexts/locales.rb
457
+ - spec/system/address_spec.rb
458
+ - spec/system/automatic_promotion_adjustments_spec.rb
459
+ - spec/system/caching/products_spec.rb
460
+ - spec/system/caching/taxons_spec.rb
461
+ - spec/system/cart_spec.rb
462
+ - spec/system/checkout_confirm_insufficient_stock_spec.rb
463
+ - spec/system/checkout_spec.rb
464
+ - spec/system/checkout_unshippable_spec.rb
465
+ - spec/system/coupon_code_spec.rb
466
+ - spec/system/currency_spec.rb
467
+ - spec/system/first_order_promotion_spec.rb
468
+ - spec/system/free_shipping_promotions_spec.rb
469
+ - spec/system/locale_spec.rb
470
+ - spec/system/order_spec.rb
471
+ - spec/system/products_spec.rb
472
+ - spec/system/promotion_code_invalidation_spec.rb
473
+ - spec/system/quantity_promotions_spec.rb
474
+ - spec/system/taxons_spec.rb
475
+ - spec/system/template_rendering_spec.rb
476
+ - spec/views/spree/checkout/_summary_spec.rb
477
+ homepage: https://www.nebulab.it
478
+ licenses:
479
+ - BSD-3-Clause
480
+ metadata:
481
+ homepage_uri: https://www.nebulab.it
482
+ source_code_uri: https://www.nebulab.it
483
+ post_install_message:
484
+ rdoc_options: []
485
+ require_paths:
486
+ - lib
487
+ required_ruby_version: !ruby/object:Gem::Requirement
488
+ requirements:
489
+ - - "~>"
490
+ - !ruby/object:Gem::Version
491
+ version: '2.4'
492
+ required_rubygems_version: !ruby/object:Gem::Requirement
493
+ requirements:
494
+ - - ">="
495
+ - !ruby/object:Gem::Version
496
+ version: '0'
497
+ requirements: []
498
+ rubygems_version: 3.0.3
499
+ signing_key:
500
+ specification_version: 4
501
+ summary: Cart and storefront for the Solidus e-commerce project.
502
+ test_files:
503
+ - spec/controllers/controller_helpers_spec.rb
504
+ - spec/controllers/locale_controller_spec.rb
505
+ - spec/controllers/spree/checkout_controller_spec.rb
506
+ - spec/controllers/spree/checkout_controller_with_views_spec.rb
507
+ - spec/controllers/spree/current_order_tracking_spec.rb
508
+ - spec/controllers/spree/home_controller_spec.rb
509
+ - spec/controllers/spree/orders_controller_ability_spec.rb
510
+ - spec/controllers/spree/orders_controller_spec.rb
511
+ - spec/controllers/spree/orders_controller_transitions_spec.rb
512
+ - spec/controllers/spree/products_controller_spec.rb
513
+ - spec/controllers/spree/taxons_controller_spec.rb
514
+ - spec/fixtures/thinking-cat.jpg
515
+ - spec/generators/solidus/views/override_generator_spec.rb
516
+ - spec/helpers/base_helper_spec.rb
517
+ - spec/helpers/order_helper_spec.rb
518
+ - spec/helpers/taxon_filters_helper_spec.rb
519
+ - spec/spec_helper.rb
520
+ - spec/support/shared_contexts/checkout_setup.rb
521
+ - spec/support/shared_contexts/custom_products.rb
522
+ - spec/support/shared_contexts/locales.rb
523
+ - spec/system/address_spec.rb
524
+ - spec/system/automatic_promotion_adjustments_spec.rb
525
+ - spec/system/caching/products_spec.rb
526
+ - spec/system/caching/taxons_spec.rb
527
+ - spec/system/cart_spec.rb
528
+ - spec/system/checkout_confirm_insufficient_stock_spec.rb
529
+ - spec/system/checkout_spec.rb
530
+ - spec/system/checkout_unshippable_spec.rb
531
+ - spec/system/coupon_code_spec.rb
532
+ - spec/system/currency_spec.rb
533
+ - spec/system/first_order_promotion_spec.rb
534
+ - spec/system/free_shipping_promotions_spec.rb
535
+ - spec/system/locale_spec.rb
536
+ - spec/system/order_spec.rb
537
+ - spec/system/products_spec.rb
538
+ - spec/system/promotion_code_invalidation_spec.rb
539
+ - spec/system/quantity_promotions_spec.rb
540
+ - spec/system/taxons_spec.rb
541
+ - spec/system/template_rendering_spec.rb
542
+ - spec/views/spree/checkout/_summary_spec.rb