Commit Graph

266 Commits

Author SHA1 Message Date
Maikel Linke
a37b0eb698 Replace mocking on tested order object
It's more realistic this way.
2024-07-11 15:42:23 +10:00
Maikel Linke
2e36c699f6 Test resulting stock instead of method calls
The next test case wasn't asserting anything as well. The referenced
method `decrease_stock_for_variant` doesn't actually exist.
2024-07-11 15:42:23 +10:00
Maikel Linke
cb4e7d6fe3 Fix spec to assert updating shipments
The spec was asserting on all shipments of the order but there were one.
In consequence, the spec didn't assert anything. Now I set up a shipment
that is asserted on. I'm stil not sure how useful this spec is though.
2024-07-11 15:42:23 +10:00
Maikel Linke
94d560d341 Replace expecting method call with outcome
This is more realistic and robust. Don't mock the class under test (even
though `touch` is actually provided by Active Record).
2024-07-11 15:42:22 +10:00
Maikel Linke
eea227bc22 Style order spec block a tiny bit 2024-07-11 15:42:22 +10:00
Gaetan Craig-Riou
612ab097b7 Fix order specs 2024-07-03 10:17:49 +10:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +10:00
Maikel Linke
9320ed0559 And less stubbing is better.
[skip ci]
2024-05-09 11:14:13 +10:00
Konrad
27a4202fa4 Merge pull request #12357 from mkllnk/fix-invoice-order
Fix: preserve order of invoices in bulk print
2024-04-11 12:47:14 +02:00
Maikel Linke
48b447500f Move selection of invoicable orders to database
It's more efficient and should allow for further optimisations.
2024-04-10 16:52:56 +10:00
Maikel Linke
54738fc552 Remove unnecessary method checkout_steps
It allowed introspection of a dynamic state machine. But the only two
usages of this method only referred to the first state which is always
the same. Our complicated checkout logic needs more clarity and
introducing some hardcoded state names here can only help.
2024-03-21 13:43:54 +11:00
Feruz Oripov
9d919938f3 Group Order && OrderCycle related services and specs 2024-03-16 19:07:08 +05:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
David Cook
2107aeded1 Un-safely autocorrect RSpec/ExpectChange 2024-02-23 12:17:09 +11:00
Ahmed Ejaz
cb9c2963af 11768: add roundoff
- Fix lint issues
2024-01-19 01:52:24 +05:00
Ahmed Ejaz
a3592cb14a 11768: add specs
- For applied_voucher_rate method in order
2024-01-19 01:52:24 +05:00
Neal Chambers
c3b4781a28 Safely autocorrect Style/RedundantConstantBase
Inspecting 1509 files
.........................................................................................................C.........................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................CCC........................................C......................................................................................C......................................................................................................................................................................................................

Offenses:

app/controllers/split_checkout_controller.rb:5:33: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class SplitCheckoutController < ::BaseController
                                ^^
app/controllers/webhook_endpoints_controller.rb:3:36: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class WebhookEndpointsController < ::BaseController
                                   ^^
config.ru:5:9: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
require ::File.expand_path('config/environment', __dir__)
        ^^
spec/helpers/checkout_helper_spec.rb:168:68: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
      let!(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: ::Calculator::DefaultTax.new) }
                                                                   ^^
spec/models/spree/order_spec.rb:619:25: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:fee_handler) { ::OrderFeesHandler.new(subject) }
                        ^^
spec/models/spree/payment_method_spec.rb:150:51: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                  ^^
spec/models/spree/payment_method_spec.rb:154:54: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                         calculator: ::Calculator::FlatPercentItemTotal
                                                     ^^
spec/models/spree/payment_spec.rb:429:49: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
            create(:payment_method, calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                ^^
spec/models/spree/payment_spec.rb:1002:11: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
          ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10)
          ^^
spec/models/spree/payment_spec.rb:1039:28: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
        let(:calculator) { ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10) }
                           ^^
spec/queries/complete_visible_orders_spec.rb:12:31: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:order_permissions) { ::Permissions::Order.new(user, filter_canceled) }
                              ^^
spec/services/paypal_items_builder_spec.rb:34:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^
spec/services/paypal_items_builder_spec.rb:38:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^

1509 files inspected, 13 offenses detected, 13 offenses corrected
2023-11-10 09:13:57 +09:00
Ryan Murphy
4db6570039 9235: Prevent customers from editing shipped orders 2023-10-03 08:36:57 -04:00
Neal Chambers
fe88a88206 Fix Style/HashSyntax 2023-09-22 09:08:50 +09:00
Gaetan Craig-Riou
619285ad4a Add voucher_type to voucher
And update related specs
voucher_type doesn't do anything for now.
2023-08-11 14:19:25 +10:00
Konrad
c3414143e6 Merge pull request #11222 from Matt-Yorkley/checkout-controller
Reduce controller size
2023-08-10 23:28:57 +02:00
Matt-Yorkley
82b8bb74a1 Remove #before_save_hook method and clarify it's intention 2023-08-04 08:43:15 +10:00
Mohamed ABDELLANI
c921250d68 implement Spree::Order#invoiceable?
This will be used to filter the orders when running bulk print
2023-08-03 14:52:45 +01:00
David Cook
0ba342bf11 Merge pull request #10965 from macanudo527/fix_linelength_bundle2
Fix Layout/LineLength - Bundle 2
2023-06-29 15:27:08 +10:00
Neal Chambers
5b6f45931c Fix Layout/LineLength 2023-06-26 13:06:56 +09:00
Matt-Yorkley
837e581c29 Reload order after cancelling it in tests that check shipment states 2023-06-14 10:19:30 +01:00
Mohamed ABDELLANI
bd0e7cdfc8 remove legacy checkout tests 2023-06-13 14:58:16 +01:00
Matt-Yorkley
f4261b85b8 Merge pull request #10940 from Matt-Yorkley/order-tidyup
Order class tidyup
2023-06-08 15:06:59 +01:00
Matt-Yorkley
e88843c733 Ensure order number is generated nicely on new records 2023-06-07 00:58:43 +01:00
Matt-Yorkley
17b10d10c0 Make Order #deliver_order_confirmation_email method private 2023-06-05 21:30:43 +01:00
Gaetan Craig-Riou
b585f77be4 Make enterprise mandatory for a voucher
It should have already been the case...
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
2d8fa24862 Add a voucher factory
As vouchers are getting more complicated, it makes sense to use a
factory to simplify writing test.
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
43ab881181 Rename order association to voucher_adjustments
The name vouchers is a bit confusing as the order is linked to a
voucher adjutment and not the actual voucher
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
3ec58d8791 Add #vouchers, return an array of voucher adjustments 2023-05-15 13:42:37 +10:00
Maikel Linke
9998025687 Remove useless test header setup for emails
Once upon a time we needed a helper to set the `from` header of emails.
This is now set in the ApplicationMailer and not necessary any more.
2023-04-20 12:15:34 +10:00
Filipe
ba46756cba Merge pull request #10445 from cyrillefr/Remov-I18nt-keys-from-automated-tests#9499
Remov i18nt keys from automated tests#9499
2023-02-16 17:51:08 +00:00
Rachel Arnould
1a7598d96d Merge pull request #10428 from jibees/9145-Splitcheckout,-add-error-message-when-no-shipping-methods-are-available-to-the-customer
SplitCheckout: improve error messages in flash banner to improve user experience
2023-02-16 15:33:12 +01:00
cyrillefr
b3ad5aeaca Remove I18n keys in model specs 2023-02-16 14:28:14 +01:00
Jean-Baptiste Bellet
0a3d362282 Still improve error message for Billing address
```
"Bill" is a person's name, and I don't know his address
```

;)
2023-02-15 10:07:59 +01:00
Jean-Baptiste Bellet
4cea7b1957 Improve error message, and use the same than the view 2023-02-15 09:52:24 +01:00
Jean-Baptiste Bellet
88607a3dce Improve bill address error message
"(Street + House number)" instead of "address1"
and "postcode" instead of "zipcode"
2023-02-15 09:52:24 +01:00
Ana Nunes da Silva
f4980fa84d Update void payments to checkout on resumed order 2023-02-07 12:29:59 +00:00
Ana Nunes da Silva
b48b3ad42b Update: Untaken cash payments to void on cancelled order 2023-02-07 12:27:07 +00:00
Maikel Linke
cec9d2987e Name order attributes similar to other text
Rails' auto-generated names used in error messages were a bit cryptic
for users.
2023-01-25 15:49:44 +11:00
Maikel Linke
b232fa3d0c Deal with conflicting customer entries 2022-09-29 12:06:06 +02:00
Maikel Linke
f6ac02dce5 Update customer's email after user changed it
This may fail if there's already a customer record with the same email
address for the same enterprise. I will fix that in the next commit.
2022-09-29 12:06:06 +02:00
Maikel Linke
9dbba35019 Find customers by user id as well as email
Also fixing up a spec which became brittle due to too much mocking.
2022-09-29 12:06:06 +02:00
Maikel Linke
93da64f466 Spec for duplicate customers after changing email 2022-09-29 12:06:06 +02:00
Maikel Linke
ccbf20a73b Replace spec of customer's internal logic
Specs should test public methods. Private methods should be able to
change without specs breaking.

The specs were also just mirroring the code and didn't really have any
meaning. So I wrote new ones which are hopefully clearer.

There's actually a case which I don't quite understand. Why don't we
require a customer for a new complete order? It means that we don't have
a customer creating it but then it's added when updating the order.
Seems inconsistent.
2022-09-29 12:06:06 +02:00
georgethoppil
03b24bfc38 Destroy all adjustments on cart empty 2022-05-17 20:21:47 -04:00