Konrad
6ec022b731
Merge pull request #11391 from rioug/11362-fix-error-creating-percentage-voucher
...
[Vouchers] fix error when creating a percentage voucher
2023-08-24 09:09:30 +02:00
Konrad
3aca33b8a6
Merge pull request #11230 from macanudo527/fix_products_controller
...
Add Query Object to Product Model to Fix Metrics/ClassLength
2023-08-22 11:38:09 +02:00
David Cook
e37a499125
Merge pull request #11383 from jibees/11274-buu-as-a-single-producer-i-should-not-be-able-to-see-the-producer-dropdown
...
🚧 Products V3: Do not display "Producers" selector if only one is possible
2023-08-22 11:33:12 +10:00
Maikel Linke
31d87ca087
Show producer filter only when multiple options
...
Also introducing a view spec here because the code was incorrectly
refactored before. The execution of the view spec takes only 100ms
which is much faster than a system spec.
2023-08-22 10:00:06 +10:00
Neal Chambers
0b6b750706
Clarify Product Scope Query Spec
2023-08-20 13:01:34 +09:00
Neal Chambers
c125c42a6d
Add Tests for Product Scope Query
2023-08-20 13:00:39 +09:00
Konrad
241239ac68
Merge pull request #11379 from dacook/respond_to-not_found
...
Respond to all formats for "not found" error
2023-08-18 18:47:09 +02:00
Konrad
df7d42a420
Merge pull request #11352 from abdellani/remove-dead-code-bulk-invoice
...
Remove dead code related to bulk invoice printing
2023-08-18 18:14:01 +02:00
Konrad
f3b09508ff
Merge pull request #11347 from abdellani/fix-edit-order-button
...
fix cancel order button
2023-08-18 17:07:42 +02:00
Konrad
d8bc479a70
Merge pull request #11387 from jibees/10957-missing-translation-invalid-url
...
Admin, White Label: add translation for invalid URL in white label context
2023-08-18 15:59:39 +02:00
Jean-Baptiste Bellet
66a106b1c9
hide pagination for single page catalogue
...
+ update specs then
2023-08-17 09:26:10 +02:00
Maikel
6377149e18
Merge pull request #11400 from jibees/buu-update/refactor-tests
...
🚧 BUU: refactor/improve testing
2023-08-17 16:32:00 +10:00
Maikel
27dcad205e
Merge pull request #11337 from macanudo527/fix_rubocop_6
...
Fix autocorrect Rails Cops 2
2023-08-17 10:39:34 +10:00
Maikel
fd7b00ac7f
Merge pull request #11323 from mkllnk/dfc-import-context
...
Use known, statically cached DFC context
2023-08-16 11:35:57 +10:00
David Cook
b49de7d49e
Simplify spec
...
What if Zucchini didn't appear at all? Better to test that the two products appear on the same page, in the correct order.
2023-08-16 11:13:54 +10:00
Matt-Yorkley
70ba027603
Merge pull request #11221 from Matt-Yorkley/product-shipping-category
...
[Product Refactor] Shipping Category
2023-08-15 11:12:56 +01:00
David Cook
1155bd42ea
Reflex test to reveal collation sorting varies on different OS...
...
https://dba.stackexchange.com/questions/106964/why-is-my-postgresql-order-by-case-insensitive
Uncommented, the spec fails on macOS (BSD).. but succeeds in Ubuntu (Linux). Weird.
2023-08-15 08:36:22 +02:00
David Cook
0f086df12b
Setup StimulusReflex testing [add gem]
...
Surprisingly, the StimulusReflex framework [doesn't have many resources for testing](https://docs.stimulusreflex.com/appendices/testing.html ), but thankfully someone's made a gem.
2023-08-15 08:36:22 +02:00
David Cook
e816228959
Sort products by name in ascending order
...
The order is specified above in fetch_products. I'm guessing this line was unintentional?
Original requirment doesn't say ascending but I think it's safe to assume (issue#10694).
2023-08-15 08:36:22 +02:00
David Cook
6dbfb36e52
Spec: use url helpers
...
To be consistent with other specs.
2023-08-15 08:36:22 +02:00
David Cook
9a3820db4f
Tidy up spec
...
Although 'describe' and 'context' are the same simple constructs to label groups of examples, to humans they mean:
* Describe a particular domain of functionality
* Context means a different environment, IE something has been set up differently (generally with before and/or let blocks)
Also the default 'before' is :each, so we don't need to specify it.
2023-08-15 08:36:22 +02:00
David Cook
757ba27908
Optimise spec: only create objects when needed
...
Moving the 'clear filters' and 'no results' tests up into the first context.
2023-08-15 08:36:22 +02:00
David Cook
2a4d5af552
Remove redundant test
...
This is already covered in the following test.
2023-08-15 08:36:21 +02:00
Gaetan Craig-Riou
5a2155aeb7
Use the same sorting when choosing a line item to update
...
The presenter uses order.sorted_line_items, so use the same method
when picking up the line item to update.
2023-08-15 11:33:02 +10:00
Matt-Yorkley
97d9aadb69
Update specs
2023-08-14 21:02:48 +01:00
Matt-Yorkley
42d04b6581
Update OrderAvailableShippingMethods service
2023-08-14 21:02:47 +01:00
Matt-Yorkley
c18c525d9f
Save shipping category selection to new variant when creating a new product
2023-08-14 21:02:47 +01:00
Neal Chambers
ec49065739
Reword image_exists? to use Rails.public_path
2023-08-14 17:29:11 +09:00
Neal Chambers
94f1b89a9f
Safely autocorrect Rails/RootPublicPath
...
Inspecting 1484 files
.............................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................C..........C..........................................................................................................................................................................................................................................................................................................C....................................................................................................................................................................C...................C.............................................................C.C.......C....................
Offenses:
app/controllers/concerns/request_timeouts.rb:19:22: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
file: Rails.root.join("public/500.html"),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/controller_helpers/common.rb:45:30: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
file: Rails.root.join("public/404.html"),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/api/v0/product_images_controller_spec.rb:13:22: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:pdf_path) { Rails.root.join("public/Terms-of-service.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/controllers/api/v0/terms_and_conditions_controller_spec.rb:15:31: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:terms_file_path) { Rails.root.join("public/Terms-of-service.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/terms_of_service_file_spec.rb:6:25: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:pdf) { File.open(Rails.root.join("public/Terms-of-service.pdf")) }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/bulk_product_update_spec.rb:907:37: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
attach_file 'image-upload', Rails.root.join("public/500.jpg"), visible: false
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprises/terms_and_conditions_spec.rb:27:30: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:original_terms) { Rails.root.join("public/Terms-of-service.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/admin/enterprises/terms_and_conditions_spec.rb:28:29: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:updated_terms) { Rails.root.join("public/Terms-of-ServiceUK.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/checkout_spec.rb:94:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
Rails.root.join("public/Terms-of-service.pdf"),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/embedded_groups_spec.rb:18:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
Rails.root.join("public/embedded-group-preview.html")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/shopping/embedded_groups_spec.rb:26:9: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
Rails.root.join("public/embedded-group-preview.html")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/split_checkout_spec.rb:986:35: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:system_terms_path) { Rails.root.join("public/Terms-of-service.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/system/consumer/split_checkout_spec.rb:987:33: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
let(:shop_terms_path) { Rails.root.join("public/Terms-of-ServiceUK.pdf") }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1484 files inspected, 13 offenses detected, 13 offenses corrected
2023-08-14 17:29:11 +09:00
Neal Chambers
aaf2181768
Safely autocorrect Rails/FilePath
...
Inspecting 1484 files
.............................................................................................................................................................................................................................................................................................................C.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C....................C.....................................................................................................................................................................................................................................................................C.........................................................................................................................................................................................................C...........................................................................................................................................................
Offenses:
app/models/product_import/product_importer.rb:290:35: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
return unless @file.path == Rails.root.join('tmp', 'product_import').to_s
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:5: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
"#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH)}/translations.js"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:5: C: [Correctable] Style/RedundantInterpolation: Prefer to_s over string interpolation.
"#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH, 'translations.js')}"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/karma.rake:42:59: C: [Corrected] Style/StringLiteralsInInterpolation: Prefer single-quoted strings inside interpolations.
"#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH, "translations.js")}"
^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:25: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
config.fixture_path = "#{::Rails.root}/spec/fixtures"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:25: C: [Correctable] Style/RedundantInterpolation: Prefer to_s over string interpolation.
config.fixture_path = "#{Rails.root.join('spec/fixtures')}"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/base_spec_helper.rb:58:44: C: [Corrected] Style/StringLiteralsInInterpolation: Prefer single-quoted strings inside interpolations.
config.fixture_path = "#{Rails.root.join("spec/fixtures")}"
^^^^^^^^^^^^^^^
spec/models/content_configuration_spec.rb:15:19: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').to_s.
File.exist?(File.join(Rails.root, 'public', default_url))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/models/content_configuration_spec.rb:15:19: C: [Corrected] Rails/RootPublicPath: Use Rails.public_path.
File.exist?(Rails.root.join('public', default_url).to_s)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/downloads_helper.rb:7:5: C: [Corrected] Rails/FilePath: Prefer Rails.root.join('path/to').
Rails.root.join("tmp", "capybara")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1484 files inspected, 10 offenses detected, 8 offenses corrected, 2 more offenses can be corrected with `rubocop -A`
2023-08-14 17:29:11 +09:00
Maikel Linke
91e4fb18ed
Use input labels in Voucher system spec
...
It's more robust, and closer to what the user sees and does. It's also
verifying that the labels are correctly connected to the inputs.
2023-08-14 12:46:13 +10:00
Maikel Linke
ba53f31309
Use new hash syntax in Voucher spec
2023-08-14 12:40:54 +10:00
Maikel Linke
160cdc7f8e
Clarify Voucher request spec not a controller spec
2023-08-14 12:25:56 +10:00
Maikel Linke
efe2dfff8e
Let Rails handle Voucher type building
2023-08-14 11:51:34 +10:00
Maikel Linke
4d5e1ffb3b
Simplify VouchersController with single param name
...
The Voucher form now deals with a generic Voucher instead of a subclass
which makes the naming easier and is less confusing when changing types.
2023-08-14 11:39:59 +10:00
Konrad
99daab07b7
Merge pull request #11297 from mkllnk/require-belongs-to--part2
...
Require belongs_to associations by default
2023-08-12 17:09:03 +02:00
Rachel Arnould
5afe45d922
Merge pull request #11382 from jibees/11273-buu-remove-new_products_page-feature-toggle
...
🔧 Remove `new_products_page` and all associated controllers/components/...
2023-08-11 11:43:49 +02:00
Gaetan Craig-Riou
06f986ff52
Allow for creating a voucher with either flat or percentage rate
...
In the scenario when you get an error when trying to create a
percentage voucher, on the subsequent try we would be dealing with
a "percentage rate voucher". The code now handle any type of voucher
2023-08-11 16:09:48 +10:00
Gaetan Craig-Riou
9c9a6234e1
Per review, clean up voucher specs
...
Add explicit 'order.item_total' to make specs more readable
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
054eac0822
Use a better describe
...
Co-authored-by: David Cook <david@redcliffs.net >
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
3f63cfbc27
Fix Rubocop warning
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
e8b374d0f2
Remove left over comment
2023-08-11 15:41:45 +10:00
Gaetan Craig-Riou
2828bd098d
Refactor VoucherAdjustment service
...
We are taking advantage of having a FlatRate and a PercentageRate
model to simplify the code a little
2023-08-11 15:41:34 +10:00
Gaetan Craig-Riou
29a38467d2
Fix admin pages to work with refactored vouchers
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
46e04ca7ee
Refactor voucher: 3 percentage rate voucher
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
def594ab81
Refactor voucher: 2 FlatRate voucher
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
204f3933d0
Refactor voucher: 1 base voucher class
...
Refactor voucher to use a single table inheritance. It will simplify the
code and remove a bunch of conditional
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
959e2308dd
Add system specs for percentage based voucher
...
Similar to tax included in price scenario, adds a test for percentage
based voucher to check the adjustments are recalculated when needed.
Plus fix tax incluced in price specs to use new factory
2023-08-11 14:51:36 +10:00
Gaetan Craig-Riou
cdb33aa0d0
Add calculation for percentage voucher
...
It include calculation for order with taxes included in the price
2023-08-11 14:30:48 +10:00
Gaetan Craig-Riou
cc9069e9c6
Add voucher type to admin screen
...
Plus specs
2023-08-11 14:19:26 +10:00