Pau Perez
679de40a41
Move specs to where they belong
2021-04-26 10:15:13 +02:00
Pau Perez
5845ace8e9
Don't persist models to test serializer
...
Serializers don't care whether or not the objects they go through are
persisted in DB. They just convert them.
2021-04-26 10:15:13 +02:00
Pau Perez
5cf4aecc26
Enable customer_balance toggle in tests
...
This makes all tests exercise the new branch that `OrderBalance`
abstracts. It follows up #7363 addressing code review comments.
2021-04-12 09:31:23 +02:00
Matt-Yorkley
e1a10db410
Remove :tag_rule factory and update tests to use alternate (valid) factories
2021-04-08 12:37:45 +01:00
Matt-Yorkley
74ba6e35be
Merge pull request #7283 from Matt-Yorkley/unit-price-nils
...
Defend against nils in variant serializer
2021-03-30 17:00:26 +02:00
Matt-Yorkley
741dee29c3
Defend against nils in variant serializer
...
If unit_price.denominator ever returns nil, the serializer won't explode now.
2021-03-30 14:45:33 +01:00
Pau Perez
9762275555
Use old_outstanding_balance on disabled toggle
...
No need to go through the `OrderBalance` in this context since we
already check for the toggle.
2021-03-22 11:45:12 +01:00
Pau Pérez Fabregat
404ec7bf92
Merge pull request #6950 from andrewpbrett/fix-nil-enterprise-category
...
Fix #6949 : Add default icon value if enterprise.category is nil
2021-02-25 13:20:10 +01:00
Andy Brett
741ed73cf5
add specs for enterprises with nil or unknown category
2021-02-24 11:43:53 -08:00
Pau Perez
20a7f2f24e
Eager load payment and subs. order associations
...
This removes the N+1 queries caused by
`Api::Admin::OrderSerialier#ready_to_capture` when used from
`Api::OrdersController#index`. While it's fine for the single-order
controller actions, it's not for this one that deals with a collection
of orders.
Fortunately, `SearchOrders` is used only in this controller action so we
can put the `includes` calls there, otherwise, we would need to refactor
it a bit to pass in a context-specific AR relation.
2021-02-23 10:26:12 -08:00
Andy Brett
d62a984939
make orders not capturable if they have a payment pending authorization
2021-02-23 10:26:04 -08:00
Pau Perez
37b7340eb1
Refactor specs to speed them up
...
We don't care about the conversion from hash to JSON (that's an
ActiveModel::Serializer responsibility that is thoroughly tested) but
our logic so we can skip that step which only slows down tests.
It consistently reduced ~1.5s on my machine but it's still too slow to wait
~8.5s to get feedback from them.
2021-01-20 18:23:22 +01:00
Pau Perez
a124f93b20
Remove old commented out code
2021-01-20 18:23:22 +01:00
Pau Perez
20abaaa950
Reuse outstanding balance statement across queries
...
Instead of relying on Spree::Order#outstanding_balance we make us of the
result set `balance_value` computed column. So, we ask PostgreSQL to
compute it instead of Ruby and then serialize it from that computed
column. That's a bit faster to compute that way and let's reuse logic.
We hide this new implementation under this features' toggle so it's only
used when enabled. We want hit the old behaviour by default.
2021-01-20 18:23:22 +01:00
Pau Perez
96a91969c9
Extract balance-specific serializer
...
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Luis Ramos
2b8f0abe49
Try some mass auto-correct adding frozen-string-literal to all specs
2020-12-03 06:38:24 -08:00
Luis Ramos
1af4bf6994
Replace usage of create_enterprise_user with :user factory
2020-07-27 14:44:23 +01:00
Luis Ramos
8a9dae0ee2
Run rubocop autocorrect
...
This is the result of bundle exec rubocop --auto-correct
2020-06-22 12:23:10 +01:00
Luis Ramos
c9b60d0f62
Merge pull request #5341 from mathewdbutton/5173-show-outstanding-order-balance-on-orders-page
...
Show outstanding balance on orders page
2020-05-07 16:03:58 +01:00
Mathew Button
fe6c810505
Add brackets in view instead of API response
2020-05-04 19:09:18 +10:00
Mathew Button
8087e6b31b
Show outstanding balance on orders page
...
Prior to this change, there was no way of knowing how much was owed (or
in need of refunding) at a glance for each order on the orders index page,
this information was only available by clicking through to an order
payment page
This change adds the outstanding balance for each order
2020-05-01 21:38:20 +10:00
Matt-Yorkley
43ba73ac19
Avoid expensive queries for supplied product properties if enterprise is not a supplier
2020-04-23 21:51:39 +02:00
Maikel
2e31f234d6
Merge pull request #5196 from Matt-Yorkley/customers-performance
...
Admin Customers performance
2020-04-17 13:28:39 +10:00
Matt-Yorkley
4c41c84cc1
Refactor tag rules loading for customers
...
Fixes N+1 queries on customer tags
2020-04-10 10:12:32 +02:00
Matt-Yorkley
3aff7f62e3
Don't query distributed properties on enterprises that aren't active distributors
...
Cuts page load on /shops by ~75% (with production data) and removes ~300 expensive and superfluous queries.
2020-04-08 20:08:12 +02:00
Matt-Yorkley
c82c54873c
Pluck :id when querying active distributors for serializer data
2020-03-23 22:38:55 +01:00
Luis Ramos
55941a1206
Round time values to make spec green as in rails 4, for unknown reason, the timestamps are differing in some miliseconds
2020-03-06 10:16:58 +00:00
luisramos0
2b3bc6d1ff
Remove supplied products from enterprise serializer and from UI side
...
This list of products s now loaded in a specific call to ExchangeProducts and for each specific exchange
2019-12-12 18:44:44 +00:00
luisramos0
5e27bd6d6d
Add for now very basic spec to api/admin/order_cycle_serializer
2019-12-06 16:41:54 +00:00
luisramos0
9404aacfb2
run rubocop --auto-correct
2019-11-10 18:42:43 +00:00
Matt-Yorkley
06c896b93b
Add spec for Api::ProductSerializer
2019-10-18 21:15:13 +01:00
Luis Ramos
ef35db6db2
Merge pull request #4296 from luisramos0/subs_line_items
...
Make subscription line items handle soft deleted variants
2019-09-30 13:07:10 +01:00
luisramos0
c66e5fe1e9
Make subscription line items handle soft deleted variants
...
This ensures subscription list page works. The variant can be removed from the subscription by the user in the edit subscription page
2019-09-22 14:59:59 +01:00
luisramos0
8b503b51ca
Fix typo in spec name
2019-09-20 10:03:52 +01:00
Pau Pérez Fabregat
92b05c76a3
Merge pull request #4068 from luisramos0/replace_oc_rabl
...
Convert order_cycle.rabl to Api::OrderCycleSerializer
2019-08-08 12:23:09 +02:00
Pau Pérez Fabregat
64d21969f0
Merge pull request #4064 from luisramos0/convert_search_Rabl
...
Replace views/admin/variants/search.rabl with Api::Admin::VariantSerializer
2019-08-05 15:07:10 +02:00
luisramos0
be41271038
Make spelling coherent, as we have serializers with Z we get rid of the few serialisers with S we have
2019-07-29 19:57:12 +01:00
luisramos0
2c6dab9c85
Add spec for Api::OrderCycleSerializer
2019-07-29 18:56:49 +01:00
luisramos0
74a030f6db
Organizing spec/serializers - put each file in the correct place acccording to its namespace
2019-07-23 22:17:28 +01:00
luisramos0
7a8b5e89be
Add specs to cover the most important new fields in api/admin/variant_serializer
2019-07-23 22:11:00 +01:00
luisramos0
90690cd238
Move api/admin/variant_serializer_spec to the correct folder under /spec
2019-07-23 22:03:40 +01:00
Matt-Yorkley
4ec46c2db6
Fix groups index page
2019-06-12 09:47:01 +01:00
Matt-Yorkley
fc8b220b4c
Add specs for endpoint and serializers
2019-05-07 10:27:04 +01:00
luisramos0
60ee17204b
Merge branch 'master' into 2-0-stable-Mar16
2019-03-16 16:17:38 +00:00
Pau Perez
54e120889f
Remove useless array wrapping on AR relation
2019-03-04 11:08:34 +01:00
Pau Perez
e55fbf80fc
Check property presentation attribute only in test
...
The PropertySerializer contains :id, :name and :presentation attributes
which leads to JSON objects like `{"id": 1, "name": "foo",
"presentation": "foo"}`. Because of this, we don't care about object
identity, just about their presentation attribute.
2019-02-26 11:36:36 +01:00
Pau Perez
d4635bd7cb
Fetch Property instead of ProducerProps from query
...
By not having to treat producer properties differently we can filter and
fetch all properties from DB without having to process it with Ruby and
with a single query.
2019-02-26 11:36:36 +01:00
Pau Perez
92e2ed78d1
Test active distributor as well
2019-02-26 11:36:36 +01:00
Pau Perez
47a90e937b
Have a duplicate product to test with
2019-02-26 11:36:36 +01:00
Pau Perez
8fef69387e
Simplify test setup using factory transient attrs
2019-02-26 11:36:36 +01:00