Commit Graph

12173 Commits

Author SHA1 Message Date
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
19b6cbcc9b Packing reports: Display phone numbers to suppliers 2025-03-31 16:16:27 +11:00
David Cook
f40a00dde3 Expand spec to cover existing behaviour
And use let to avoid extra db query
2025-03-31 16:16:27 +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
4402854a2a AddEnableProducersToEditOrdersToEnterprises
With system spec for setting the preference. The enterprise edit page seems under-tested..
2025-03-31 16:16:27 +11:00
Gaetan Craig-Riou
421b753e0a Merge pull request #13231 from chitty/more-rubocop-style-corrections
Correct rubocop Style/* offenses
2025-03-31 10:49:20 +11:00
Gaetan Craig-Riou
aee80ddf1d Merge pull request #13230 from filipefurtad0/specs_mailer_reply_to_changes
Adds tests to recent reply_to email changes
2025-03-31 10:38:59 +11:00
Maikel Linke
8a8602158b Test link in HTML email with Capybara 2025-03-27 12:06:05 +11:00
Maikel Linke
b554248cfe Test for email content 2025-03-27 11:48:41 +11:00
Maikel Linke
1b8ebc3105 Test with known text 2025-03-27 11:38:35 +11:00
Maikel Linke
edcb04ed50 Save time by not storing test data in DB 2025-03-27 11:31:16 +11:00
Maikel Linke
e12c51edd1 Use RSpec matchers for emails 2025-03-27 11:29:15 +11:00
Carlos Chitty
58a16d89a3 Correct Style/RedundantInitialize rubocop offense 2025-03-26 11:16:24 -04:00
Carlos Chitty
9c8e0899d1 Correct Style/CaseEquality rubocop offense 2025-03-26 11:16:20 -04:00
filipefurtad0
e017b14f31 Adds spec for payment authorization emails 2025-03-26 12:19:02 +00:00
filipefurtad0
df3cbe84b6 Asserts that the order shipment and pick up emails have the distributors email as reply to address 2025-03-26 12:19:02 +00:00
filipefurtad0
98cba128e0 Asserts that the invoice email has the distributors email as reply to address 2025-03-26 12:18:55 +00:00
filipefurtad0
ea82b162ac Asserts that the order cancellation email for customer has the distributors email as reply to address 2025-03-26 12:00:48 +00:00
filipefurtad0
9a161cae5b Asserts that the order confirmation email for shops has the customer's email as reply to address 2025-03-26 12:00:48 +00:00
filipefurtad0
6ee1c8ca29 Asserts that the order cancellation email for shops has the customer's email as reply to address 2025-03-26 12:00:41 +00:00
filipefurtad0
c95c598f82 Asserts that the enterprise welcome email has no reply to address
Asserts that manager invitation email has the inviting enterprise as reply to address
2025-03-26 11:57:59 +00:00
Gaetan Craig-Riou
d8f2bb09d0 Re enable assertion
It's working fine with the current design
2025-03-26 12:50:42 +11:00
Gaetan Craig-Riou
1ee3e9a2a1 Add proper fee testing
The previous version wasn't testing anything as there was no fees set
up.
Now we check that fees are applied as expected, and also that supplier
fees are applied only to the expected product.
2025-03-26 12:50:35 +11:00
Carlos Chitty
ba693e3ecf Autocorrect rubocop offense Style/RedundantAssignment 2025-03-25 13:33:50 -04:00
Maikel Linke
177a910aac Disable printing expected error 2025-03-25 10:38:35 +11:00
Maikel Linke
973d1be90b Style EmptyBlock 2025-03-25 10:38:35 +11:00
Maikel Linke
7abaaed5b6 Make test fail when we are not locking 2025-03-25 10:38:35 +11:00
Maikel Linke
dcedffac2f Ensure we wait for all threads in spec 2025-03-25 10:38:34 +11:00
David Cook
ff7c23c8f9 Rename OrderCycleOpenedJob
This name better reflects what it's doing.

As this job is scheduled automatically by Sidekiq, I think there shouldn't be any jobs with the old name in redis. So I didn't bother keeping a placholder for the old name.

And Clean up unused include
2025-03-25 10:38:34 +11:00
David Cook
6738101ebd Raise error if record not found, and don't retry too many times
After 10 minutes, I'd consider that it failed to open the order cycle. Who would want their products to sync, or get a notification at a random time during the order cycle?

Best viewed with whitespace ignored.
2025-03-25 10:38:34 +11:00
David Cook
75dcee12a8 Re-record fixture
And document how to run it.
2025-03-25 10:38:34 +11:00
David Cook
801beadb67 Reduce specificy of test
I guess we lose some of the detail in the db.
2025-03-25 10:38:34 +11:00
David Cook
4400b74f7e Explicitly set timecop freeze time
and in that case, might as well define it once at the top.

But it didn't help with spec failures.. see next commit
2025-03-25 10:38:34 +11:00
David Cook
23dc0f7298 Change concurrency check to be based on order_cycle.opened_at
Being based on the DB value should be more robust.

This prevents an order cycle from being "opened" when it's already open. But note that the order cycle can become "unopened" (see OrderCycle#reset_opened_at).

Nice to see the database query count drop, but I must confess I don't know why!
2025-03-25 10:38:34 +11:00
David Cook
eff8fdb28b Move to new job
And re-organise specs.

TOFIX: concurrency test now fails. why?

Use correct testing methods
2025-03-25 10:38:34 +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
David Cook
5b21c81ca5 Synchronise remote products when order cycle opens
I considered pre-loading the variant and product with includes, But can't do that here because it's a polymorphic relationship.
2025-03-25 10:27:47 +11:00
Gaetan Craig-Riou
bdced0b9e2 Merge pull request #13207 from mkllnk/dfc-missing-product
Gracefully handle product missing from catalog
2025-03-24 10:12:48 +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
e524b3ddb1 Merge pull request #13197 from dacook/reload-payments-12693
Fix obscure issue when choosing payment method in checkout
2025-03-18 12:04:33 +00:00
Filipe
3c801a2656 Merge pull request #13182 from mkllnk/invalid-dfc-catalog-url
Rescue from invalid DFC catalog URLs
2025-03-18 10:57:26 +00:00
Maikel
a0b5bd53f1 Merge pull request #13210 from dacook/test-locale
Ensure tests run with specified locale
2025-03-18 09:57:25 +11:00
Gaetan Craig-Riou
afb25a5209 Merge pull request #13209 from cyrillefr/FixRubocopLintIssuesIV
Fixes some rubocop linting offenses - part IV
2025-03-18 09:43:01 +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
Maikel Linke
b15ffe7a4e Restore empty block with comment
RSpec tags are too complex for this simple setup.
2025-03-14 11:26:04 +11:00
cyrillefr
ba58a7b924 Fix: inconsiderate use of RSpec.configure 2025-03-13 10:08:35 +01: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