Commit Graph

129 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
448308710a Per review, distributor are now updated via variant
When a product is deleted, it will delete associated variant and
in turn will touch the affected distributors
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
3788b33eb0 First round of code review change 2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
c328ee8087 Remove stockable_by from Product and Variant
It's not used anymore
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
117f6d3300 First round of code review change 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
260211cf15 Fix Ruboxop issue 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
22f4ae115a Add missing associations and validations specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
6290e7ad1c Test the suppliers are touched on destroy 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
4113880401 Move supplier to variant part 2
Variant model and specs
2024-07-03 10:17:49 +10:00
David Cook
35c2297d55 Detect changes in price
Price is actually an association with lots of custom methods to make it look like a field, and so changes were ignored.
Now this issue is fixed, perhaps it should be moved to a concern..

Note, there are other delegated fields: product name and description may be assigned from the variant. But there's no hooks to save the prroduct, so I didn't include it when checking for changes.
2024-05-28 12:00:04 +10:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +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
Ahmed Ejaz
b2172ef8d8 12332 - Add around block to apply default_locale on specs 2024-04-11 10:14:52 +10:00
Ahmed Ejaz
693b9bd171 12332 - Fix rubocop Rails/I18nLocaleAssignment errors
- use I18n.with_locale method rather than direct locale assignment
2024-04-11 10:13:50 +10:00
David Cook
6cff5c81fe Fix RSpecRails/NegationBeValid
Another cop that only supports not_to instead of to_not.
2024-04-04 09:41:05 +11:00
Maikel Linke
d47d3eba8f Add SemanticLink model for variants
We want to link variants/products to external DFC SuppliedProducts to
trigger supplier orders when local stock is exhausted. This is the first
step to enable the link.
2024-03-15 16:46:41 +11:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
Maikel Linke
95c6a56e2e Simplify loading of default tax category
The logic doesn't change but I simplified it and added more detailed
specs.
2024-01-12 17:06:24 +11:00
Mohamed ABDELLANI
d239beb226 remove unnecessary require instructions 2024-01-03 11:34:57 +01:00
Neal Chambers
35e8f88943 Fix Style/HashSyntax 2023-09-24 22:41:27 +09:00
Matt-Yorkley
e65efe0f85 Remove unused variant :position attribute 2023-08-09 18:24:46 +01:00
Maikel
2b18effe6d Merge pull request #11322 from macanudo527/fix_remaining_line_length
Fix remaining Layout/LineLength Rubocop Errors
2023-08-04 09:34:00 +10:00
Neal Chambers
a4f270bdec Fix Layout/LineLength 2023-08-03 09:49:47 +09:00
Matt-Yorkley
0df121bcc8 Move tax_category validations test 2023-07-31 09:23:20 +10:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
bed2fe69f6 Update regression tests 2023-06-07 16:39:37 +01:00
Matt-Yorkley
bb73d70e57 Improve nil-safety in variant naming methods 2023-06-07 12:17:50 +01:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Maikel Linke
87c4c5373b Spec more variant naming with realistic data 2023-05-12 14:10:54 +10:00
Maikel Linke
f70607259a Spec Variant#product_and_full_name with real data
Mocking skips a lot of code execution which we want to test as well.
2023-05-12 13:34:34 +10:00
Maikel Linke
ce180caad9 Test with in-memory data when possible
This should speed up specs but I observed only one second less run time.
2023-05-12 13:21:58 +10:00
Maikel Linke
01be934caf Reduce spec run time by not creating unused subject
The `variant` instance isn't used in all specs and doesn't need to be
created every time. This reduced run time from 1min5sec to 43sec on my
machine.
2023-05-12 13:21:58 +10:00
Maikel Linke
54c6559b97 Move Spree::Variant spec out of Spree module
I also discovered that some specs were just in the Spee module and not
within the `describe Variant` block. I moved them inside the block.
2023-05-12 13:21:19 +10:00
Nihal M. Kelanthodika
ddaac654ef Add specs for conversion of variant weight input into decimal/0.0 2022-01-31 17:43:15 +05:30
Matt-Yorkley
290e292dea Revert "Fixed inconsistency with display of unit name for products sold by item" 2021-12-07 13:24:12 +00:00
Nihal M. Kelanthodika
aefb580023 Update unit_to_display spec 2021-11-23 12:59:42 +05:30
Luis Ramos
23627c5453 Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
9290 issues fixed
2021-06-17 22:19:26 +01:00
Andy Brett
8e14e0e950 add variant spec 2021-04-15 09:43:22 -07:00
Matt-Yorkley
f3347229fb Add Variant#default_price test coverage for soft-deletion 2021-03-30 20:25:37 +01:00
Maikel
3e0547f563 Merge pull request #6926 from andrewpbrett/check-nan
Ensure unit_value is a number
2021-02-23 10:40:00 +11:00
Andy Brett
dec6d2189f add unit test for unit_value 2021-02-21 22:26:36 -08:00
Matt-Yorkley
42a5d7cdc7 Delete dead code Variant#set_option_value 2021-02-17 14:27:51 +00:00
Matt-Yorkley
81ac2c5add Delete code related to :cost_price field 2021-02-17 14:27:51 +00:00
Andy Brett
f746dec537 update spec 2021-02-04 13:52:45 -08:00
Andy Brett
c29d57b54e Merge pull request #6369 from Matt-Yorkley/broken-variants
Fix variant data inconsistencies
2021-01-13 11:10:44 -08:00
Andy Brett
fade1696e2 update variant spec based on new validation behavior 2020-12-22 19:46:47 -08:00
Luis Ramos
5b00868c6f Allow mutable strings in some specs 2020-12-03 06:38:24 -08:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00
Matt-Yorkley
01a726d9bd Fix stubbing of stock totals
Recent changes to the way count_on_hand is summed in Spree::Stock::Quantifier mean the old method here will not work. Error:
```
  2) Spree::Variant#in_stock? when stock_items are not backorderable when stock_items out of stock return false if stock_items out of stock
     Failure/Error: expect(variant.in_stock?).to be_falsy

       expected: falsey value
            got: true
     # ./spec/models/spree/variant_spec.rb:241:in `block (5 levels) in <module:Spree>'
  ```
2020-11-27 13:59:46 +00:00
Matt-Yorkley
3d4f0ebb7b Ensure variants don't end up with invalid data when a product's variant_unit is changed
Fixes an issue where a product's variant_unit value is changed from "weight" to "items" and some of the product's variants can be left in an invalid state, which in turn breaks cloning of order cycles (with fatal errors).
2020-11-11 20:24:21 +00:00
Luis Ramos
4b8515358c Remove reference to FactoryGirl, it's FactoryBot that is used in OFN 2020-11-04 12:15:23 +00:00