solidus_starter_frontend 0.1.0

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 (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