Commit Graph

83 Commits

Author SHA1 Message Date
David Rodríguez
667ce5eda2 Silence capybara starting puma during system specs
##### Before

```
$ bin/rspec spec/system/admin/order_cycles/simple_spec.rb:460
Running via Spring preloader in process 79308
Run options: include {:locations=>{"./spec/system/admin/order_cycles/simple_spec.rb"=>[460]}}

As an administrator
    I want to manage simple order cycles
  as an enterprise user
    that is a manager of the coordinator
      when variants are hidden via inventory settings
Capybara starting Puma...
* Version 6.5.0, codename: Sky's Version
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:51103
        shows a warning when going to 'outgoing products' tab

Finished in 3.95 seconds (files took 0.45949 seconds to load)
1 example, 0 failures
```

##### After

```
$ bin/rspec spec/system/admin/order_cycles/simple_spec.rb:460
Running via Spring preloader in process 79234
Run options: include {:locations=>{"./spec/system/admin/order_cycles/simple_spec.rb"=>[460]}}

As an administrator
    I want to manage simple order cycles
  as an enterprise user
    that is a manager of the coordinator
      when variants are hidden via inventory settings
        shows a warning when going to 'outgoing products' tab

Finished in 4.03 seconds (files took 0.49981 seconds to load)
1 example, 0 failures
```
2025-10-14 20:34:05 +02:00
Maikel Linke
6d284023fe Configure rake specs in one place
So we don't have to add it to every rake spec file.
2025-09-22 17:27:58 +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
Maikel Linke
0166abcd2a Remove deprecated and unnecessary config 2025-08-08 11:18:34 +10:00
Maikel Linke
f3f43225cb Remove unused test helper 2025-07-29 13:42:51 +10:00
Konrad
d97cb9ccb3 Update specs 2025-04-21 20:11:50 +02:00
Maikel Linke
8a8602158b Test link in HTML email with Capybara 2025-03-27 12:06:05 +11:00
David Cook
1bbd6b58fd Run tests with specified locale
We changed .env.test a while ago, but I just discovered it hadn't taken any effect because it was overwritten here. Now it's loaded from env var.
2025-03-13 11:56:16 +11:00
Maikel Linke
42b6ecbf31 Move rswag specifc config to rswag helper 2025-02-18 12:58:09 +11:00
Maikel Linke
6885184bcc Remove unused preference default_country_id 2025-01-28 16:31:45 +11:00
Maikel Linke
917e0ff01a Remove unnecessary storage of currency 2025-01-21 20:11:05 +01:00
Maikel Linke
ed926e9e26 Remove unnecessary storage of checkout zone 2025-01-21 20:11:05 +01:00
Maikel Linke
f8788d358e UNSAFE style Rails/RootPathnameMethods 2025-01-10 09:14:34 +11:00
Joseph Johansen
8d747a2508 Enable coverage in base_spec_helper 2024-08-21 13:02:31 +01:00
wandji20
a1aea54405 Disable recaptcha spiner check in test environment [OFN-12280] 2024-08-01 21:43:51 +01:00
filipefurtad0
46696dfa17 Removes references to enabling admin_style_v3 features
Reverts removal from bulk_product_spec.rb
2024-07-17 14:51:25 +01:00
filipefurtad0
5cf8eb5efc Extracts helper methods into helper file
The idea is to split the main spec into several smaller ones; these would share the helper file
2024-07-02 16:45:46 +10:00
filipefurtad0
5af5eb7ecf Replaces all with find, within tom_select helper method
Moves existing tom select helper methods into separate file
2024-07-01 12:09:14 +10:00
filipefurtad0
289414a504 Adds tests around product creation
Introduces a tom-select helper file
2024-07-01 12:09:14 +10:00
filipefurtad0
500b9ed1c7 Enables admin_style_v3 toggle by default 2024-07-01 12:09:11 +10:00
zanetagebka
ad92d4b129 Solve Rubocop RedundantInterpolation cops 2024-06-17 15:37:39 +02:00
Maikel Linke
f14945c155 More realistic test env for translations
Most production servers don't use the source locale `en`. Even if the
default language is English, they use a local variant like `en_AU` or
`en_GB` to customise some of the translations.

However the environment is configured, the app should always fallback to
`en` if no other translation is available.
2024-05-23 15:08:11 +10:00
Gaetan Craig-Riou
1fde91e6ff Update Webmock and VCR config as per Knapsack recommendation
See : https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md#720
2024-05-15 10:07:40 +10:00
Maikel Linke
8362c4a7bd Detailed output when running only one spec file 2024-05-09 12:24:42 +10:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +10:00
Maikel Linke
9ca6519fb1 Recommended RSpec option: shared_context_metadata_behavior
One spec failed due to this new behaviour. Converting the shared
examples to simple blocks solved this. But the specs could probably be
written better now. I didn't invest this time.
2024-05-09 11:14:13 +10:00
Maikel Linke
6b2bb0bd32 Don't verify partial doubles because we can't fix all specs now 2024-05-09 11:14:13 +10:00
Maikel Linke
9c402fbdb2 Verify partial doubles
And look, we were stubbing deleted code.
2024-05-09 11:14:13 +10:00
Maikel Linke
a65189c43e Improve failure messages of chained expectations 2024-05-09 11:14:13 +10:00
Maikel Linke
ea0558c70e Replace Flipper's built-in test helper
It fails in CI and features are not seen as enabled. So we copy the
important part of the test helper into our code, which works.

It's probably about the point in time when the adapter is instantiated.
2024-05-02 11:23:30 +10:00
Maikel Linke
c2c7910357 Reset I18n.local for each spec
This avoids a locale setting leaking from one spec to another. It also
means that we don't have to reset the locale in individual specs.

Also:

- `cookies` is reset automatically and we don't need to do that.
- Removed some unused code (German number format and helper methods).
2024-04-11 10:14:52 +10:00
Matt-Yorkley
c01bab5f27 Wrap commonly-repeated calls to Spree::Config to reduce unnecessary cache reads
These config values are relatively static but in some cases they can be called many times in the same request (like rendering a report or a large list of line_items in BOM). These values will now only get fetched from Redis/Postgres once at most per request/job.
2024-03-26 13:39:16 +00:00
Rachel Arnould
11bdba3c4e Merge pull request #12073 from rioug/12045-add-invisible-captcha
Add invisible captcha to registration screen
2024-02-05 10:44:41 +01:00
Gaetan Craig-Riou
048619d660 Move disabling timestamp check to the spec helper 2024-01-24 15:56:25 +11:00
Maikel Linke
ad26a006e2 Remove unnecessary spec helper module
These shared examples were used in only one spec file. It's much easier
to read having all the related specs in one file instead of hiding some
in a helper module.

It's also one less file to load whenever we run specs.
2024-01-12 17:18:07 +11:00
David Cook
59ad2cf5ec Re-set vcr config after each test
I couldn't find a built-in way to do it, and couldn't even directly access the vcr config outside of VCR.configure. So this is the best way I could think of.
2023-12-28 17:47:09 +11:00
filipefurtad0
265de61e49 Resets VCR/Stripe library directory, after example run, on base spec helper 2023-12-22 12:09:50 +00:00
filipefurtad0
8891091ebb Uncomments preferences
Moves I18n exception handler within base spec helper
2023-12-20 11:16:25 +00:00
filipefurtad0
cdceefb6fb Moves test.rb I18n exception hanlder into base_spec_helper 2023-12-19 16:44:53 +00:00
Maikel Linke
72755840c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
75467a0c65 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
d1c73f86c0 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
049df77558 Update specs for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
0b7cf86b5b Update report spec for background reports 2023-12-01 15:22:34 +11:00
Maikel Linke
bbe37e1392 Update ReportsController for background reports
As it turns out, the background reports were missing a small feature to
store user preferences. Yay specs!
2023-12-01 15:21:42 +11:00
Maikel Linke
f28a8c87ab Activate background report processing by default
Many report specs are still testing the old behaviour. We need to
migrate them to background reports. Some tests may be better as unit
tests instead of system tests.
2023-12-01 14:44:33 +11:00
Maikel Linke
4c5c39f23b Remove unnecessary host config in specs 2023-11-27 10:51:23 +11:00
Maikel Linke
6f3bee708c Check feature name in specs
There was one case where a typo meant that the desired feature wasn't
active and tests were not testing the right code path. Using this new
syntax should prevent that.

* https://github.com/openfoodfoundation/openfoodnetwork/pull/11705
2023-11-17 13:18:31 +11:00
Maikel Linke
d841b1dae2 DRY feature activation in specs
It's simple this way and we have one place to add logic to when needed
(see next commit).
2023-11-17 13:17:27 +11:00
Maikel Linke
7dd0d0581c Codify re-recording of Stripe cassettes 2023-11-08 15:05:54 +11:00