Commit Graph

7177 Commits

Author SHA1 Message Date
Andy Brett
ffe9d4737c Merge pull request #7114 from coopdevs/extract-spec-file
Move invoice-related specs to their own file
2021-03-15 15:11:14 -07:00
Matt-Yorkley
c045efb89d Merge pull request #7112 from Matt-Yorkley/admin-adjustments-controller
Ensure order association is set correctly when adding admin adjustments
2021-03-15 16:51:10 +01:00
Matt-Yorkley
657291df90 Update order total when editing admin adjustments 2021-03-15 11:46:14 +00:00
Pau Perez
7a3121b624 Move invoice-related specs to their own file
The `Spree::Admin::OrdersController`'s test file quite long (as well as
the controller itself) but it'll grow more in the upcoming commits.
That's just a symptom of that controller having too many
responsibilities. It does much more than CRUD on `Spree::Order` (the
Rails convention).

Things like invoices are an entity on their own and would better fit
into a `InvoicesController`. Hopefully, splitting up the tests is hint
for the next dev to do that.
2021-03-15 12:45:27 +01:00
Matt-Yorkley
3219ea231d Ensure order association is set correctly when adding admin adjustments 2021-03-15 11:18:14 +00:00
Pau Pérez Fabregat
71aec23c0d Merge pull request #7064 from coopdevs/abstract-order-balance
Abstract order balance in a simple PORO
2021-03-15 11:35:45 +01:00
Andy Brett
c45bb470e7 Merge pull request #7066 from luisramos0/legacy_user
Remove dead current_api_user helper
2021-03-13 11:17:05 -08:00
Andy Brett
29db3ed3ad Merge pull request #7078 from mkllnk/coverage
Disable code coverage by default
2021-03-13 11:16:47 -08:00
Matt-Yorkley
707d089419 Update type handling in PaymentMethodsController and add tests 2021-03-13 10:57:54 +00:00
Matt-Yorkley
6d51ece69c Tidy up payment method params 2021-03-13 10:57:51 +00:00
Maikel Linke
62234c0708 Configure SimpleCov as recommended by author
The configuration can go into the central .simplecov file and then we
just need to `require` simplecov to start the coverage process. This
also avoids duplicating the config if we want to start simplecov from
the rails server to cover the lines used in by the server in feature
specs.

https://github.com/simplecov-ruby/simplecov#using-simplecov-for-centralized-config
2021-03-12 11:08:38 +11:00
Maikel Linke
3ee54b1bfa Disable code coverage by default
We can activate it on demand:

  COVERAGE=1 bundle exec rspec

We often run specs in chunks but simplecov needs all tests to be run.
2021-03-12 11:03:12 +11:00
Matt-Yorkley
321da76005 Update regression test
This error is no longer thrown by the payment object creation
2021-03-11 12:23:00 +00:00
Matt-Yorkley
6bb85e9acd Fix payment and shipment states issue
For some reason the order objects were stale here when calling order.update! from either a payment or shipment callback, which was overwriting those states as nil on the order.
2021-03-11 12:23:00 +00:00
Matt-Yorkley
ac37db7e00 Update test setup in OrderCycleManagement report 2021-03-11 12:23:00 +00:00
Matt-Yorkley
8d8df447c6 Remove debugging 2021-03-11 12:19:55 +00:00
Matt-Yorkley
c827d77236 Fix reloading completed_order_with_fees factory 2021-03-11 12:19:55 +00:00
Matt-Yorkley
9e83cb65db Set concurrency spec to pending
It's not working at all in Rails 5. There's new concurrency modules in Rails 5, we should investigate them...
2021-03-11 12:19:55 +00:00
Matt-Yorkley
3748d92bc8 Fix modifying taxons in ShopsCaching spec
This was triggering an error via the callback Spree::Product#remove_previous_primary_taxon_from_taxons
2021-03-11 12:19:55 +00:00
Matt-Yorkley
95b5586f9b Using strings for keys in FormAdapter spec 2021-03-11 12:19:55 +00:00
Matt-Yorkley
83278b17db Fix test controller issue 2021-03-11 12:19:55 +00:00
Matt-Yorkley
bd408e02b0 Update OrderCyclesController params usage 2021-03-11 12:19:55 +00:00
Matt-Yorkley
0393ea4219 Update variant params in CartController 2021-03-11 12:19:55 +00:00
Matt-Yorkley
ec597aab1a Fix params issue in ReportsController expectation 2021-03-11 12:19:55 +00:00
Matt-Yorkley
e46fe3735b Fix params issue in controller specs 2021-03-11 12:19:54 +00:00
Matt-Yorkley
dcecfaea87 Fix params issues in OrderCyclescontroller spec 2021-03-11 12:19:54 +00:00
Matt-Yorkley
fd1b14ca4a Fix string/integer issues in states controller spec 2021-03-11 12:06:00 +00:00
Matt-Yorkley
ff722e6969 Fix cookie issues in i18n helper spec 2021-03-11 12:06:00 +00:00
Matt-Yorkley
009844bfe7 Update expected params in reports controller tests 2021-03-11 12:06:00 +00:00
Matt-Yorkley
2fdb1861a6 Fix uses of ActionController::TestResponse in specs
This class has moved / changed slightly.
2021-03-11 12:06:00 +00:00
Matt-Yorkley
29c5703161 Improve OrdersHelper spec and delete dead code
The removed test here was checking for adjustments that have an amount of zero and are eligible. If the amount is zero, it will already be marked as ineligible.
2021-03-11 11:22:35 +00:00
Matt-Yorkley
714e4f7896 Update test setup in checkout helper spec 2021-03-11 11:20:01 +00:00
Matt-Yorkley
4c64aaed77 Remove callbacks in Adjustment that call order.update! 2021-03-11 11:20:01 +00:00
Matt-Yorkley
791a47d170 Merge pull request #6858 from Matt-Yorkley/adjustments-shipping-cost
[Adjustments] Move shipping adjustment from order to shipment
2021-03-11 12:17:14 +01:00
Luis Ramos
12d5120629 Remove dead current_api_user helper 2021-03-11 00:40:51 +00:00
Pau Pérez Fabregat
e341b04487 Merge pull request #6902 from openfoodfoundation/setup-postgres-gh-actions
Setup Github Actions as CI
2021-03-10 16:59:59 +01:00
Pau Perez
42d0f16773 Abstract order balance in a simple PORO
This new class lets us [Branch by
abstraction](https://www.martinfowler.com/bliki/BranchByAbstraction.html)
by encapsulating an order's balance. As a result, that's the only place
where we need to check the feature toggle, instead of every place where
`#outstanding_balance` is called (quite some). That would be very hard
to review and it'd be more likely to introduce bugs.

What I like about this is that we also managed to group together the
data and logic that we had spread in a few places and have it nicely
encapsulated. So, where we had a number, we'll now have an object.

Once we fully change all `#outstanding_balance` consumers to use this
new abstraction we'll be able to remove the methods this class replaces.
These are: `Spree::Order#outstanding_balance?`,
`Spree::Order#display_oustanding_balance` and
`OrderHelper.outstanding_balance_label`.

This is just the first step. I'll follow this up with a PR per
page/mailer/whatever where we use the balance to replace it with an
instance of `OrderBalance`. That is, splitting up what I explored in
https://github.com/openfoodfoundation/openfoodnetwork/pull/6959 but in
very small and manageable pieces.
2021-03-10 16:09:09 +01:00
Pau Pérez Fabregat
66201c6618 Merge pull request #7055 from coopdevs/remove-js-capabilities-to-test
Remove unnecessary JS-capabilites for test
2021-03-10 09:53:23 +01:00
Andy Brett
05a074d33a Merge pull request #7041 from Matt-Yorkley/adjustments-set-eligibility
[Adjustments] Remove Adjustment#set_eligibility
2021-03-09 13:33:21 -08:00
Pau Pérez Fabregat
332d7b8482 Merge pull request #7044 from filipefurtad0/transaction_fees_specs
adds coverage to transacion fees/payment methods
2021-03-09 18:52:58 +01:00
Andy Brett
b5b751fa39 fix admin feature spec 2021-03-09 16:22:46 +01:00
Pau Perez
a5fbd6bb57 DRY downloads directory path 2021-03-09 16:22:46 +01:00
Pau Perez
0e4f9d18d4 Fix browser's download path configuration
The CI build can't find the downloaded file and fails like:

```
2) enterprise fee summaries csv downloads smoke test for generation of report based on permissions when logged in as enterprise user generates file with data for the enterprise
     Failure/Error: sleep 0.1 until downloaded?

     Timeout::Error:
       execution expired
     # ./spec/support/downloads_helper.rb:34:in `sleep'
     # ./spec/support/downloads_helper.rb:34:in `block in wait_for_download'
     # ./spec/support/downloads_helper.rb:33:in `wait_for_download'
     # ./spec/support/downloads_helper.rb:11:in `downloaded_filename'
     # ./engines/order_management/spec/features/order_management/reports/enterprise_fee_summaries_spec.rb:119:in `block (5 levels) in <top (required)>'
     # ./engines/order_management/spec/features/order_management/reports/enterprise_fee_summaries_spec.rb:80:in `block (4 levels) in <top (required)>'
     # ./spec/support/downloads_helper.rb:22:in `with_empty_downloads_folder'
     # ./engines/order_management/spec/features/order_management/reports/enterprise_fee_summaries_spec.rb:80:in `block (3 levels) in <top (required)>'
```
2021-03-09 16:19:27 +01:00
Andy Brett
ae3b186bcd remove hardcoded time string in T&C spec 2021-03-09 16:19:27 +01:00
Pau Perez
42c9050a17 Fix cookie retrieval in feature spec
I also took the chance to reduce some redundant assertions.
2021-03-09 16:19:27 +01:00
Pau Perez
838563a80b Skip code coverage in Github Actions
No need to slow down the build with partial coverage analysis that won't
be merged in a single report for the whole build.

Also, this makes builds fail because we are not running the whole suite.
2021-03-09 16:19:27 +01:00
Pau Perez
3cef261de1 Force RSpec's output to be in color
While also simplifying the configuration using the default `progress`
RSpec formatter.
2021-03-09 16:18:29 +01:00
filipefurtad0
f26a7befab removes default value assertions 2021-03-09 15:18:02 +00:00
Pau Perez
c986583d09 Remove unnecessary JS-capabilites for test
This gets this file execution time from ~10s to ~2s.
2021-03-09 16:04:29 +01:00
Pau Perez
333c669fbf Remove puts debugging in tests 2021-03-09 16:01:55 +01:00