-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Promotion advertiser #5739
Promotion advertiser #5739
Conversation
This adds a configurable promotion advertiser that is supposed to make the code in Spree::Product#possible_promotions not depend on the presence of the current promotion system.
This creates a promotion advertiser class that fulfills the API of the current promotion advertiser and can be used when there's no promotion system configured.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5739 +/- ##
=======================================
Coverage 88.84% 88.84%
=======================================
Files 704 706 +2
Lines 16762 16772 +10
=======================================
+ Hits 14892 14901 +9
- Misses 1870 1871 +1 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work. Just a small typo
This allows us to switch out the promotion advertiser.
This removes some promotion-system dependent code from the Spree::Product class.
02d3646
to
ef46ab1
Compare
This is to create the API needed for fulfilling the contract described in solidusio/solidus#5739.
Again, this is to fulfil the API requirements specified in solidusio/solidus#5739.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Solid work, as always. Thanks Martin!
This is to create the API needed for fulfilling the contract described in solidusio/solidus#5739.
Again, this is to fulfil the API requirements specified in solidusio/solidus#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
This is to create the API needed for fulfilling the contract described in solidusio/solidus#5739.
Again, this is to fulfil the API requirements specified in solidusio/solidus#5739.
This is to create the API needed for fulfilling the contract described in solidusio/solidus#5739.
Again, this is to fulfil the API requirements specified in solidusio/solidus#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
This is to create the API needed for fulfilling the contract described in solidusio#5739.
Again, this is to fulfil the API requirements specified in solidusio#5739.
Summary
This creates an extension point for advertising promotions, akin to
Spree::Product#possible_promotions
method.It implements both the current implementation and a Null advertiser, so that we can move the current implementation to
solidus_legacy_promotions
.Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: