spree_core 4.2.0.rc5 → 4.2.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js +16 -0
  3. data/app/finders/spree/products/find.rb +3 -3
  4. data/app/helpers/spree/base_helper.rb +2 -1
  5. data/app/helpers/spree/currency_helper.rb +24 -0
  6. data/app/helpers/spree/locale_helper.rb +15 -3
  7. data/app/models/concerns/spree/product_scopes.rb +1 -1
  8. data/app/models/spree/app_configuration.rb +1 -1
  9. data/app/models/spree/app_dependencies.rb +3 -1
  10. data/app/models/spree/credit_card.rb +4 -0
  11. data/app/models/spree/price.rb +1 -1
  12. data/app/models/spree/product.rb +17 -0
  13. data/app/models/spree/store.rb +19 -2
  14. data/app/models/spree/variant.rb +1 -1
  15. data/app/paginators/spree/shared/paginate.rb +8 -1
  16. data/app/services/spree/build_localized_redirect_url.rb +101 -0
  17. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +13 -0
  18. data/app/views/spree/shared/_purchased_items_table.html.erb +15 -6
  19. data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +2 -2
  20. data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +1 -1
  21. data/config/locales/en.yml +7 -6
  22. data/db/migrate/20191017121054_add_supported_currencies_to_store.rb +1 -0
  23. data/db/migrate/20201012091259_add_filterable_column_to_spree_option_types.rb +6 -2
  24. data/db/migrate/20210205211040_add_supported_locales_to_spree_stores.rb +11 -0
  25. data/db/migrate/20210215202602_migrate_spree_i18n_globalize_config.rb +22 -0
  26. data/lib/generators/spree/install/install_generator.rb +9 -6
  27. data/lib/spree/core/controller_helpers/currency.rb +8 -6
  28. data/lib/spree/core/controller_helpers/locale.rb +13 -12
  29. data/lib/spree/core/controller_helpers/search.rb +1 -1
  30. data/lib/spree/core/version.rb +1 -1
  31. data/lib/spree/i18n.rb +12 -0
  32. data/lib/spree/permitted_attributes.rb +1 -1
  33. data/lib/spree/service_module.rb +2 -2
  34. data/lib/spree/testing_support/common_rake.rb +1 -1
  35. data/lib/spree/testing_support/controller_requests.rb +10 -10
  36. data/lib/spree/testing_support/factories/store_factory.rb +1 -0
  37. data/lib/spree/testing_support/flatpickr_capybara.rb +101 -0
  38. data/lib/spree/testing_support/locale_helpers.rb +71 -0
  39. data/lib/spree/testing_support/next_instance_of.rb +38 -0
  40. metadata +11 -6
  41. data/lib/generators/spree/install/templates/config/initializers/spree_storefront.rb +0 -1
  42. data/lib/generators/spree/install/templates/config/spree_storefront.yml +0 -67
@@ -0,0 +1,71 @@
1
+ module Spree
2
+ module TestingSupport
3
+ module LocaleHelpers
4
+ # rubocop:disable Layout/ArgumentAlignment
5
+ def add_french_locales
6
+ I18n.backend.store_translations(:fr,
7
+ spree: {
8
+ added_to_cart: 'Ajouté au panier avec succès!',
9
+ continue_shopping: 'Continuer vos achats',
10
+ choose_currency: 'Choisir la devise',
11
+ internationalization: 'Internationalisation',
12
+ i18n: {
13
+ language: 'Langue',
14
+ this_file_language: 'Français (FR)'
15
+ },
16
+ cart_page: {
17
+ header: 'Votre panier',
18
+ empty_info: 'Votre panier est vide',
19
+ add_promo_code: 'AJOUTER UN CODE PROMOTIONNEL',
20
+ checkout: 'Passer la commande',
21
+ product: 'articles',
22
+ quantity: 'quantité',
23
+ title: 'Panier',
24
+ change_quantity: 'Changer la quantité',
25
+ remove_from_cart: 'Retirer du panier'
26
+ },
27
+ shopping_cart: 'Panier',
28
+ cart: 'Panier',
29
+ close: 'Fermer',
30
+ search: 'Rechercher',
31
+ home: 'Accueil',
32
+ nav_bar: {
33
+ admin_panel: "Panneau d'administration",
34
+ close_menu: 'Fermer le menu',
35
+ go_to_previous_menu: 'Vers le menu précédent',
36
+ show_menu: 'Afficher le menu',
37
+ show_search: 'Afficher la recherche',
38
+ show_user_menu: 'Afficher le menu utilisateur',
39
+ change_country: 'Changer de pays',
40
+ desktop: 'Navigation sur le bureau',
41
+ mobile: 'Navigation mobile'
42
+ },
43
+ login: 'Connexion',
44
+ logout: 'Se déconnecter',
45
+ sign_up: 'Enregistrer',
46
+ email: 'Courriel',
47
+ password: 'Mot de passe',
48
+ remember_me: 'Se souvenir de moi',
49
+ my_account: 'Mon compte',
50
+ my_orders: 'Mes commandes',
51
+ logged_in_succesfully: 'Connexion réussie'
52
+ })
53
+ end
54
+ # rubocop:enable Layout/ArgumentAlignment
55
+
56
+ def open_i18n_menu
57
+ find('#header #internationalization-button-desktop').click
58
+ end
59
+
60
+ def switch_to_currency(currency)
61
+ open_i18n_menu
62
+ select currency, from: 'switch_to_currency'
63
+ end
64
+
65
+ def switch_to_locale(locale)
66
+ open_i18n_menu
67
+ select locale, from: 'Language'
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,38 @@
1
+ # Helper services with prepended ServiceModule
2
+ # https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33587
3
+ #
4
+ # ex:
5
+ # expect_next_instance_of(service_class) do |instance|
6
+ # expect(instance).to receive(:call)
7
+ # end
8
+
9
+ module NextInstanceOf
10
+ def expect_next_instance_of(klass, *new_args)
11
+ stub_new(expect(klass), *new_args) do |expectation|
12
+ yield(expectation)
13
+ end
14
+ end
15
+
16
+ def allow_next_instance_of(klass, *new_args)
17
+ stub_new(allow(klass), *new_args) do |allowance|
18
+ yield(allowance)
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def stub_new(target, *new_args)
25
+ receive_new = receive(:new)
26
+ receive_new.with(*new_args) if new_args.any?
27
+
28
+ target.to receive_new.and_wrap_original do |method, *original_args|
29
+ method.call(*original_args).tap do |instance|
30
+ yield(instance)
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ RSpec.configure do |config|
37
+ config.include NextInstanceOf
38
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0.rc5
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-02-04 00:00:00.000000000 Z
12
+ date: 2021-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemerchant
@@ -460,6 +460,7 @@ files:
460
460
  - app/finders/spree/variants/option_types_finder.rb
461
461
  - app/finders/spree/variants/visible_finder.rb
462
462
  - app/helpers/spree/base_helper.rb
463
+ - app/helpers/spree/currency_helper.rb
463
464
  - app/helpers/spree/locale_helper.rb
464
465
  - app/helpers/spree/mail_helper.rb
465
466
  - app/helpers/spree/products_helper.rb
@@ -667,6 +668,7 @@ files:
667
668
  - app/services/spree/account/addresses/create.rb
668
669
  - app/services/spree/account/addresses/helper.rb
669
670
  - app/services/spree/account/addresses/update.rb
671
+ - app/services/spree/build_localized_redirect_url.rb
670
672
  - app/services/spree/cart/add_item.rb
671
673
  - app/services/spree/cart/create.rb
672
674
  - app/services/spree/cart/estimate_shipping_rates.rb
@@ -1019,6 +1021,8 @@ files:
1019
1021
  - db/migrate/20210114220232_migrate_data_payment_methods_stores.rb
1020
1022
  - db/migrate/20210117112551_remove_store_id_from_spree_payment_methods.rb
1021
1023
  - db/migrate/20210120142527_ensure_default_locale_in_spree_stores.rb
1024
+ - db/migrate/20210205211040_add_supported_locales_to_spree_stores.rb
1025
+ - db/migrate/20210215202602_migrate_spree_i18n_globalize_config.rb
1022
1026
  - db/seeds.rb
1023
1027
  - lib/friendly_id/slug_rails5_patch.rb
1024
1028
  - lib/generators/spree/custom_user/custom_user_generator.rb
@@ -1039,8 +1043,6 @@ files:
1039
1043
  - lib/generators/spree/dummy_model/templates/model.rb.tt
1040
1044
  - lib/generators/spree/install/install_generator.rb
1041
1045
  - lib/generators/spree/install/templates/config/initializers/spree.rb
1042
- - lib/generators/spree/install/templates/config/initializers/spree_storefront.rb
1043
- - lib/generators/spree/install/templates/config/spree_storefront.yml
1044
1046
  - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js
1045
1047
  - lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js
1046
1048
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
@@ -1145,9 +1147,12 @@ files:
1145
1147
  - lib/spree/testing_support/factories/zone_factory.rb
1146
1148
  - lib/spree/testing_support/factories/zone_member_factory.rb
1147
1149
  - lib/spree/testing_support/flash.rb
1150
+ - lib/spree/testing_support/flatpickr_capybara.rb
1148
1151
  - lib/spree/testing_support/i18n.rb
1149
1152
  - lib/spree/testing_support/image_helpers.rb
1150
1153
  - lib/spree/testing_support/kernel.rb
1154
+ - lib/spree/testing_support/locale_helpers.rb
1155
+ - lib/spree/testing_support/next_instance_of.rb
1151
1156
  - lib/spree/testing_support/order_walkthrough.rb
1152
1157
  - lib/spree/testing_support/preferences.rb
1153
1158
  - lib/spree/testing_support/rspec_retry_config.rb
@@ -1170,9 +1175,9 @@ licenses:
1170
1175
  - BSD-3-Clause
1171
1176
  metadata:
1172
1177
  bug_tracker_uri: https://github.com/spree/spree/issues
1173
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc5
1178
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0
1174
1179
  documentation_uri: https://guides.spreecommerce.org/
1175
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc5
1180
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.0
1176
1181
  post_install_message:
1177
1182
  rdoc_options: []
1178
1183
  require_paths:
@@ -1 +0,0 @@
1
- SpreeStorefrontConfig = YAML.load_file(Rails.root.join('config', 'spree_storefront.yml')).with_indifferent_access
@@ -1,67 +0,0 @@
1
- default:
2
- navigation:
3
- - title: Women
4
- subtitle: Categories
5
- url: /t/women
6
- items:
7
- - :title: Skirts
8
- :url: /t/women/skirts
9
- - :title: Dresses
10
- :url: /t/women/dresses
11
- - :title: Shirts and Blouses
12
- :url: /t/women/shirts-and-blouses
13
- - :title: Sweaters
14
- :url: /t/women/sweaters
15
- - :title: Tops and T-shirts
16
- :url: /t/women/tops-and-t-shirts
17
- - :title: Jackets and Coats
18
- :url: /t/women/jackets-and-coats
19
- promo_banners:
20
- - subtitle: New collection
21
- title: Summer 2021
22
- url: /t/new-collection/summer-2021
23
- image: 'meganav/promo_banner_left-first-category.jpg'
24
- - subtitle: Special Offers
25
- title: Get up to 30% off
26
- url: /t/special-offers/30-percent-off
27
- image: 'meganav/promo_banner_right-first-category.jpg'
28
- - title: Men
29
- subtitle: Categories
30
- url: /t/men
31
- items:
32
- - :title: Shirts
33
- :url: /t/men/shirts
34
- - :title: T-shirts
35
- :url: /t/men/t-shirts
36
- - :title: Sweaters
37
- :url: /t/men/sweaters
38
- - :title: Jackets and Coats
39
- :url: /t/men/jackets-and-coats
40
- promo_banners:
41
- - subtitle: New collection
42
- title: Summer 2021
43
- url: /t/new-collection/summer-2021
44
- image: 'meganav/promo_banner_left-second-category.jpg'
45
- - subtitle: Special Offers
46
- title: Get up to 30% off
47
- url: /t/special-offers/30-percent-off
48
- image: 'meganav/promo_banner_right-second-category.jpg'
49
- - title: Sportswear
50
- subtitle: Categories
51
- url: /t/sportswear
52
- items:
53
- - :title: Tops
54
- :url: /t/sportswear/tops
55
- - :title: Sweatshirts
56
- :url: /t/sportswear/sweatshirts
57
- - :title: Pants
58
- :url: /t/sportswear/pants
59
- promo_banners:
60
- - subtitle: New collection
61
- title: Summer 2021
62
- url: /t/new-collection/summer-2021
63
- image: 'meganav/promo_banner_left-third-category.jpg'
64
- - subtitle: Special Offers
65
- title: Get up to 30% off
66
- url: /t/special-offers/30-percent-off
67
- image: 'meganav/promo_banner_right-third-category.jpg'