Commit Graph

741 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
584b976dff Per review, small code improvment 2025-12-10 10:28:12 +11:00
Gaetan Craig-Riou
d7505bcef4 Add Payments::WebhookPayload to manage payload data
It includes test data so any change in the payload should not affect
the test webhook enpoint functionality
2025-12-10 10:28:12 +11:00
Gaetan Craig-Riou
f6a7225c47 Per review, remove the ensure 2025-12-10 10:28:12 +11:00
Gaetan Craig-Riou
a38023475c Trigger payment webhook when a payment status changes
It used ActiveSupport::Notifications and a listener :
StatusChangedListenerService to trigger the WebhookService
2025-12-10 10:28:11 +11:00
Gaetan Craig-Riou
4a6ba29b99 Add Payments::WebhookService
It enqueues jobs to post the generated payload to the various configured
webhook endpoints for payment status change
2025-12-10 10:28:11 +11:00
Gaetan Craig-Riou
d6ef56af6e Fix existing code to support webhook_type 2025-12-10 10:28:11 +11:00
rahsheen
7a5b273e71 update specs 2025-11-22 10:51:17 -05:00
Gaetan Craig-Riou
7633af8ff2 Call VariantTagRulesFilterer when variant_tag feature is enabled
We only support either inventory or variant_tag feature, with the later
taking precedence if both are turned on.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7b3db4bae4 Add VariantTagRuleFilterer to filter variants by tag rule 2025-11-03 14:25:05 +11:00
Ahmed Ejaz
9f6c149735 Add check for payment authorization state in StripeScaPaymentAuthorize and corresponding spec 2025-10-17 05:25:45 +05:00
Rachel Arnould
c4c266246c Merge pull request #13507 from rioug/tag-rules-remove-angular
[Variant Tags] Remove angular from tag rule admin page
2025-10-15 23:16:05 +02:00
Gaetan Craig-Riou
bad7369e67 Per review, fix tag rule filter spec 2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
ab65b2d745 Per review, fix various syntax/misspell 2025-09-24 10:46:37 +10:00
Gaetan Craig-Riou
0cf244b211 Document variant filtering rule behavior
Add test to conver scenario where we have conficting rules
2025-09-24 10:40:43 +10:00
Ahmed Ejaz
ac06126f59 replace cvv_response_message usage with redirect_auth_url 2025-09-22 11:55:43 +05:00
Maikel Linke
6c313a1b5a Remove duplicate include of TimeHelpers in specs 2025-09-05 14:30:46 +10:00
Maikel Linke
94b75540e4 Replace Timecop with Rails' time helpers
Rails 4.1 added time helpers but we never bothered using them. But now
I'm getting rid of the Timecop dependency and use standard helpers.

Beware though that the new helpers always freeze time. When you travel
to a certain date then the clock stops ticking while Timecop maintained
the passing of time.

The freezing of time could cause problems if you are trying to enforce a
timeout. But all current specs don't seem affected.

In most cases, the freezing will make it easier to avoid flaky specs.
2025-08-22 16:57:04 +10:00
Carlos Chitty
45b712ddcd Set latest invoce date explicitly in Orders::GenerateInvoiceService test
Solves CI failure:
https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14760883756/job/41441014958?pr=13232
2025-08-07 17:44:52 +02:00
Filipe
a8114e42a7 Merge pull request #13381 from rioug/add-feature-flag-inventory
Add feature flag to enable inventory
2025-07-21 17:59:54 +01:00
Ahmed Ejaz
e6b9373570 Refactor line items search to improve security and maintainability
Moves search field configuration from frontend to backend to prevent potential security issues with exposing internal field names. The change also improves maintainability by centralizing search logic in the controller.

Adds conditional logic to use name_alias for non-admin users when searching distributor names, enhancing data access control.
2025-07-13 18:07:14 +05:00
Gaetan Craig-Riou
7450f8a530 Fix spec, enable inventory when needed 2025-07-09 13:43:18 +10:00
Gaetan Craig-Riou
29a24b7305 Scope variant to hub only when inventory enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
7c31c951a1 Refactor spec to use instance_double 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
82c99891eb Only scope with variant override when inventory enabled 2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
cd8b7cd239 First step disable inventory 2025-07-09 11:35:26 +10:00
cyrillefr
a4c6514275 Style Metrics/ModuleLength in spec file 2025-06-17 15:46:30 +02:00
cyrillefr
8aba6e9782 Style Metrics/ModuleLength in spec file 2025-06-17 15:41:51 +02:00
Carlos Chitty
63d284e81a Use Orders::WorkflowService#complete! and #advance_to_payment in specs to replace code causing Style/NestedModifier rubocop offenses
Rewrite the loop "break unless a = order.next! while !order.delivery?" to correct the offenses. Not adding a helper because the change was only needed in a couple of places.
2025-06-04 12:46:58 -04:00
cyrillefr
400f431f88 Importer goal is to dl a file over https instead of local file 2025-05-27 17:10:48 +02:00
cyrillefr
7f842d77ea Fixes RSpec Rails HaveHttpStatus cop in services & support 2025-05-14 11:47:03 +02:00
cyrillefr
f6df412355 Fixes NamingMethodParameterName rubocop offense 2025-05-05 10:39:15 +02:00
Filipe
d2fa2e612c Merge pull request #13113 from chahmedejaz/task/13031-allow-producers-to-edit-orders
Allow producer to edit their products on hubs' orders
2025-04-21 11:28:36 +01:00
Filipe
cb9db54cd3 Merge pull request #13240 from rioug/13100-do-not-remove-fee-product-removed-from-OC
[Enterprise Fees] Keep fees on product when a product is removed from the order cycle
2025-04-20 21:57:56 +01:00
Ahmed Ejaz
ccfd0edbf1 fix lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
bf6934db94 add specs 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
20146a8e11 update respective specs 2025-04-13 21:35:55 +05:00
David Cook
5c5a115daa Fix typo 2025-04-02 10:40:46 +11:00
Gaetan Craig-Riou
1279ab21a6 Fix delete fee logic
A fee can be associated to both the incoming and outgoing exchange, the
previous logic did not account for that, resulting in the fee not being
correctly removed.
Now the delete logic also check for the metadata enterprise role to see
if any additional fee need to be removed.
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
223faa5569 Move #recreate_all_fees! spec to HandleFeesService
Spree::Order just delegate Orders::HandleFeesService so there is no
point testing fees in the order spec
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
b5bc6b84d7 Update Orders::HandleFeesService#recreate_all_fees!
We now update or create line item fees instead of deleting them and
recreating them. This is to cover the case when a product has been
removed from an Order Cycle but we want to keep the fee already applied
on existing order. This was an issue only if the existing order got
updated after the product was removed.
2025-04-01 13:46:34 +11:00
David Cook
e02ef08b06 Consolidate translations for hidden field
The string '< Hidden >' was agreed on as a good default, so we will use the hidden_field key.
I also moved the definition in en.yml up to the more general area at the start of admin.reports section (before it was hidden between report-specific keys.
2025-03-31 16:24:07 +11:00
David Cook
47b6888fe6 Display customer emails & phone numbers to suppliers
when permitted.

The MaskDataService is used by the report framework, so this should affect all reports. It would be nice to test all reports, but I figured it wasn't worth it (already we only test one report for masking names).
2025-03-31 16:16:27 +11:00
David Cook
b05a42f3bb Refactor spec 2025-03-31 16:16:27 +11:00
David Cook
a8490a9b11 Record the exact event time for the webhook
There might be a delay before it gets sent, so it's better to record the time the event occurred at.
It would have been simpler to just add it to the data hash, but I felt it was an important detail for an event and should be at the top level along with event name.

In the case of order cycle opening, this is the same as opened_at. I've included this in the payload for clarity too.
2025-03-25 10:38:30 +11:00
David Cook
6f5a58ac47 Refactor spec
It was probably better to be explicit at each test, but this one is always repeated and approaches the line length, so I wanted to just define it once at the top.
2025-03-25 10:27:47 +11:00
cyrillefr
fa4fc7c3c5 Fixes Rails TimeZone rubocop offenses 2025-03-21 13:13:52 +01:00
Gaetan Craig-Riou
11e08dcc26 Revert "Update line items enterprise fee instead of deleting and recreating " 2025-03-19 09:40:02 +11:00
Filipe
b3c7968e50 Merge pull request #13144 from rioug/13100-removed-fee-when-product-removed
Update line items enterprise fee instead of deleting and recreating
2025-03-14 10:12:50 +00:00
Filipe
9baed8536c Merge pull request #13121 from rioug/13054-out-of-stock-autoremove
Autoremove/update item from the cart if stock changed during checkout
2025-02-20 22:35:40 -06:00
Gaetan Craig-Riou
8116ad986e Delete fees when fee are removed from the Order Cycle
This is to be consistent with the current behavior
2025-02-19 15:34:39 +11:00