Commit Graph

2242 Commits

Author SHA1 Message Date
Filipe
d0f48687e2 Merge pull request #13777 from rioug/13481-webhook-payment
Payment status change webhook
2026-01-08 11:26:41 +00:00
Filipe
25063d2c4d Merge pull request #13649 from deivid-rodriguez/fix-removal-flash-message-translations
Improve translations of some flash messages
2026-01-07 16:33:34 +00:00
Filipe
1b2a17d7e4 Merge pull request #13754 from deivid-rodriguez/no-changes-after-delete-customer
Properly handle changes in `code` attribute when a customer is deleted
2025-12-15 17:58:04 +00:00
Gaetan Craig-Riou
377f33b64f Use a better selector to pick table row 2025-12-10 10:28:12 +11:00
Gaetan Craig-Riou
0ac4021729 Update spec to include payment status webhook 2025-12-10 10:28:11 +11:00
Gaetan Craig-Riou
ac662de789 Fix spec use actual translation 2025-12-10 10:28:11 +11:00
David Rodríguez
c526e72539 Improve enterprise removal (failure case)
Make sure failure to delete due to dependent objects is handled through
activemodel errors and not by rescuing
`ActiveRecord::DeleteRestrictionError` exceptions.

Previously we would display two alert prompts, and we would weirdly
display the content of our 500 error page on top of the screen.

Now, we display a flash error message explaining the reason to fail to
remove it.
2025-11-27 19:10:15 +01:00
David Rodríguez
6aa7ef3c21 Improve enterprise removal (success case)
Make enterprise removal use turbo, which provides the following
benefits:

* More responsive removal since there's no full page reload.
* A success flash message (previously nothing was displayed).
* No double alert prompt.

It also goes in the direction of removing mrujs in favor of turbo.
2025-11-27 19:09:35 +01:00
David Rodríguez
4792040240 Cover tax category removal with a spec 2025-11-26 12:18:05 +01:00
David Rodríguez
dc631026d4 Properly handle changes in code attribute when a customer is deleted
Previously, `null` and empty value would be confused when a customer is
removed, resulting in incorrect pending changes being added, and thus a
"You have unsaved changes" message getting displayed and the save button
not getting disabled.
2025-11-25 07:44:00 +01:00
Filipe
dddc945c42 Merge pull request #13679 from deivid-rodriguez/customer-edition
Improve `/admin/customers` form handling
2025-11-21 10:51:55 +00:00
Ahmed Ejaz
c638e2e65e Update specs to prioritize name order in case of on-demand products 2025-11-16 17:02:47 +05:00
David Rodríguez
3d7207d8c5 Properly track changes in code attribute
If the code was initially nil, some value is added, and then removed, we
would not detect that the code has not actually changed.
2025-11-13 08:37:52 +01:00
David Rodríguez
4b31352e4f Wait for page before checking DB 2025-11-13 08:37:51 +01:00
David Rodríguez
278a8b1ec2 Let save-bar properly track form state
* Keep save bar visible as long as there's a customer form displayed.
* Only display "You have unsaved changes" when there's any difference
  from the original values. If form changes are reverted, hide that
  note.
* Similarly, only let the button be enabled if there are any actual
  changes to be saved.
2025-11-13 08:37:51 +01:00
Gaetan Craig-Riou
07a3e83dc6 Fix enterprise specs
Plus small refactor
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
38f58b168a Fix tag rules spec
Make sure the autocomplete dropdown list is hidden by default
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
b1d95cac7f Display filter by variant tag rule
We only support one of filter by inventory variants or filter by variants
at any given time, based on enabled feature. If both features inventory
and variant tag are enabled, variant tag takes precedence.
2025-11-03 14:25:05 +11:00
David Rodríguez
05b3e97a0e Bump Ruby from 3.1.7 to 3.2.9
Release announcements:

* https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/
* https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/
* https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/
* https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
* https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/
* https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
* https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
* https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/

Also autocorrect new offenses.
2025-10-31 09:18:11 +01:00
David Rodríguez
4c6d894bc0 Bump RuboCop to 1.86.6
There were a few changes needed:

* Plugins are now specified through `plugin:` config keyword.
* All plugin gems need to be specified explicitly in Gemfile since they
  are no longer dependencies of plugins already specified explicitly.
* All plugin gems need to be updated in other to use the new APIs.
* One cop was renamed.
* New offenses safe to correct were corrected directly with `bundle exec
  rubocop -a`.
* New offenses unsafe to correct were added to the TODO configuration
  with `bundle exec rubocop --auto-gen-config --auto-gen-only-exclude
  --exclude-limit 1400 --no-auto-gen-timestamp`.
2025-10-27 11:30:33 +01:00
David Rodríguez
802878b4eb Fix JS error when Stripe connect is disabled but Stripe API keys are setup 2025-10-21 17:24:34 +02:00
David Cook
23f7f2974a Merge pull request #13618 from deivid-rodriguez/remove-unnecessary-sleeps
Remove unnecessary explicit sleeps
2025-10-20 16:06:44 +11: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
David Rodríguez
d6c044fd5b Remove unnecessary explicit sleeps
Capybara helpers already wait for the content to show up (and we already
have a default of 10 seconds configured), so I don't think waiting more is
actually the problem in these specs.

But if we wanted to wait more, I think it's better to pass the `:wait`
option to capybara matchers, because that's a "maximum waiting value"
but we'll still proceed earlier if the content shows up.

Using the same idea, I changed the positive assertions to happen first,
because negative assertions do spend "max wait time" waiting, while
positive assertions only wait until the content shows up.
2025-10-15 13:09:52 +02:00
Maikel Linke
bf661159c6 Notify data proxy of permission changes 2025-10-10 16:18:21 +11:00
David Cook
60ee33053d Apply suggestions from code review 2025-10-08 14:15:56 +11:00
Maikel Linke
5b383237ea Deactivate Puffing Billy to avoid hanging specs 2025-10-08 13:26:37 +11:00
Filipe
ef4d3ec138 Merge pull request #13506 from chahmedejaz/task/13505-remove-stripe-redirect-monkey-patch
Remove Stripe redirect monkeypatch and ensure reliable checkout flow
2025-10-01 13:03:58 +01:00
Filipe
ff2e0f4d45 Merge pull request #13533 from chahmedejaz/task/13435-sort-products-by-on-hand-amount
Sort product list by 'on hand' amount
2025-09-29 15:07:00 +01:00
Gaetan Craig-Riou
ede7650fc9 Replace space by -, to match angular tag functionality 2025-09-29 09:36:12 +10:00
Gaetan Craig-Riou
42f7f2606b Remove reordering testing
This functionality has been removed
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
771573af1c Fix system spec to work with refactored screen 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
25f6db09a5 TagListInputComponent removed dependency on the form
This allows us to use the component in a context where there is no form
object defined.
2025-09-24 10:38:47 +10:00
Ahmed Ejaz
ac06126f59 replace cvv_response_message usage with redirect_auth_url 2025-09-22 11:55:43 +05:00
Filipe
bfcadfd7c0 Merge pull request #13404 from cyrillefr/UnsavedChangesMustAppearOnRemovingSingleTagFromOrderCycle
Fixes Save button does not enable when removing only tag in OC
2025-09-15 13:27:26 +01:00
Ahmed Ejaz
c326aa6b23 Add comprehensive specs for sorting functionality 2025-09-15 01:59:40 +05:00
Cillian O'Ruanaidh
74e7bd5172 Update spec/system/consumer/shopping/cart_spec.rb test to use new disabled selector 2025-09-05 09:38:20 +01:00
filipefurtad0
589315780c Adds coverage to homepage alert HTML content 2025-09-04 19:07:29 +01:00
Filipe
ddb8b2d08f Merge pull request #13496 from dacook/fix-link
Fix link to enterprise payment methods tab
2025-08-28 19:17:37 +01: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
David Cook
f79c1879bd Test that you can actually get to Stripe to connect your account
Well.. almost.
2025-08-20 13:06:59 +10:00
David Cook
646d538a3d Fix broken link
This link would go to the enterprise edit screen, but didn't successfully select the payment methods panel.

Ideally, the spec would try to follow the link and verify that you can see the Connect with Stripe button. But it opens the link in a new tab and I'm not sure how to test that.
2025-08-20 11:54:47 +10:00
Maikel Linke
3a72aefc1c Fail test when timeout reached
In this example it didn't matter but if we re-use the helper then it
needs to raise an error after the timeout has been reached.
2025-08-12 09:54:48 +10:00
Maikel Linke
ca34d24847 Replace long waits with better polling
Capybara polls under the hood as well. So we do something similar here
but tailored to the tested code. This reduced the test run time on my
machine from 35 seconds to 15 seconds.
2025-08-11 17:07:44 +10:00
Maikel Linke
342ef4e9eb Complete smoke test of DFC data sharing
Working within a shadow root of the web component isn't well supported
by Capybara and I needed to find some workarounds. It's not pretty but
it works (on my machine). *fingers crossed*
2025-08-08 14:00:41 +10:00
Maikel Linke
210201514e Add gem capybara-shadowdom to access web component 2025-08-08 14:00:41 +10:00
Maikel Linke
2d3f18a71b Load DFC Permissions module in system spec
But we can't access the inside of the component yet.
2025-08-08 14:00:41 +10:00
Maikel Linke
a062a7b697 Add Billy proxy to Chrome in system specs
And demonstrate the use of puffing-billy browser proxy.

Billy can cache and record responses to browser requests. For that to
work we need to allow network connections and disable VCR. But instead I
found that the Billy proxy is just like any other Ruby backend code and
its connections can be recorded with VCR instead.

And instead of stubbing requests via Billy.proxy, we can use standard
Webmock `stub_request`. Now we use puffing-billy just to relay browser
requests via our Ruby app.
2025-07-29 14:37:27 +10:00
Maikel
7af960fceb Merge pull request #13409 from filipefurtad0/sets_docker_no_sandbox_option_chrome
[Cuprite setup] Adds a DOCKER variable, to disable sandbox mode for system tests
2025-07-24 13:12:15 +10:00
cyrillefr
8011449ce7 Adding a spec with one single tag
- need to add ids to ru the spec
2025-07-14 18:15:01 +02:00