Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from solidusio:main #398

Merged
merged 26 commits into from
Feb 27, 2024
Merged

[pull] main from solidusio:main #398

merged 26 commits into from
Feb 27, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Feb 22, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

mamhoff and others added 18 commits January 22, 2024 17:50
Without this, engines that want to display the Solidus menu bar will get
an error.
We've already deprecated Spree::Adjustment#calculate_eligibility, and
we've removed all the code paths that call
Spree::Adjustment#recalculate. Let's deprecate it.
This promotion isn't necessary for testing the rounding here. We can
just use a manual adjustment.
We want to move the order_with_promotion factory.
We need this ability across several gems in the future.
This allows to check for working factories outside the core gem.
…ration

We want to be able to move all promotion-related things out of
`solidus_core` in PR #5634. However, Spree::AppConfiguration also does
all the promotion-specific things, and we can't move the app
configuration out of core.

In #5658, we've added a promotion configuration object as a nucleus for
core's promotion system's configuration,
`Spree::Core::PromotionConfiguration`. This implements all the
promotion-specific configuration preferences from
`Spree::AppConfiguration` there.
This implements deprecated setters and getters for the
promotion-specific preferences on `Spree::AppConfiguration`.

Now, if a developer wants to set their
The contents of this class are promotion-related and should move to
`Spree::PromotionConfiguration`. We can also use the default option of
the `add_class_set` method here.

There were originally no direct specs for
`Spree::Core::Environment::Promotions`. I'm not adding any, because the
class is indirectly tested through `Spree::AppConfiguration` and now
only has deprecated methods.
It seems we want to be able to test files without loading all of Solidus.
Unfortunately, we do load Solidus' configuration, and this PR needs the
configuration object to be able to deprecate extension points. What this
commit does is it allows loading a module that defined
`Spree.deprecator` and loads that module in both `spree/core.rb` and the
`spec_helper.rb`.
This is an extension point to tell adjustments about what type of
adjustments they are. For the new solidus_friendly_promotions gems, we
need a different type from the `Spree::PromotionAction`. This is not
part of the promotion configuration object, because it is very much
thinkable to have historical adjustments with promotion sources from a
different promotion extension.
Rather than hardcoding `Spree::PromotionAction` here, use the configured
promotion source types.
…-promotion-adjustment-sources

Configurable promotion adjustment sources
…cellation-spec

Remove promotion from cancellations spec
mamhoff and others added 5 commits February 24, 2024 11:57
Spree::Core::PromotionConfiguration will have to live in the
solidus_legacy_promotions gem. We will need a stand-in! But for that
stand-in, we also need an extension point.
This allows us to have a stand-in for a promotion system when, in fact,
we don't have one.
This is a stand-in for all the promotion handlers we have. It implements
all the methods from the promotion handler "coupon".
We need a promotion configuration when solidus_legacy_promotions is out
of core. This provides it.
Introduce a null promotion configuration
…ed-examples

Make shared examples and DummyAbility require-able from outside of core
…-routing-proxy

Use routing proxy in locale selection
@pull pull bot merged commit 928781f into nebulab:main Feb 27, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants