workarea-storefront 3.4.40 → 3.4.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/workarea/storefront/modules/dialog_buttons.js +1 -1
- data/app/controllers/workarea/storefront/cart_items_controller.rb +2 -1
- data/app/view_models/workarea/storefront/product_view_model.rb +2 -1
- data/test/integration/workarea/storefront/cart_items_integration_test.rb +12 -0
- data/test/view_models/workarea/storefront/product_view_model_test.rb +8 -0
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 79997ad2dc6268254d6b3c331346ccd0fba6d88563720f34d3d511f203d0a644
|
|
4
|
+
data.tar.gz: 68811cc13b62ec692c4e0128333477fb1c125b24b449beacad48fd2ab99b634c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 52904468d65dd0c581c2c9a1e7304434c4312969564981c4830a24feac3a4ec075f65de7742653d118bb2d3c48f62806463c1cd22d97444abb3d7680819aa032
|
|
7
|
+
data.tar.gz: b1a4d9f022455601c3b91b0de6a786f9cea15ba7f9e9210a0c1343827a4e0b693ab8b63c1e34b27138c4e787c187cac21462a5adf3e5a4f90b2235bfd893a12c
|
|
@@ -5,7 +5,7 @@ WORKAREA.registerModule('dialogButtons', (function () {
|
|
|
5
5
|
'use strict';
|
|
6
6
|
|
|
7
7
|
var isSrc = function (fileName) {
|
|
8
|
-
var extension = fileName.split('.')
|
|
8
|
+
var extension = WORKAREA.url.parse(fileName).path.split('.').pop();
|
|
9
9
|
|
|
10
10
|
return _.includes(WORKAREA.config.imageFileExtensions, extension);
|
|
11
11
|
},
|
|
@@ -11,13 +11,14 @@ module Workarea
|
|
|
11
11
|
after_action :check_inventory, except: :create
|
|
12
12
|
|
|
13
13
|
def create
|
|
14
|
+
@cart = CartViewModel.new(current_order, view_model_options)
|
|
15
|
+
|
|
14
16
|
# TODO: for v4, use AddItemToCart for this.
|
|
15
17
|
if current_order.add_item(item_params.to_h.merge(item_details.to_h))
|
|
16
18
|
check_inventory
|
|
17
19
|
|
|
18
20
|
Pricing.perform(current_order, current_shippings)
|
|
19
21
|
|
|
20
|
-
@cart = CartViewModel.new(current_order, view_model_options)
|
|
21
22
|
@item = OrderItemViewModel.wrap(
|
|
22
23
|
current_order.items.find_existing(
|
|
23
24
|
item_params[:sku],
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
module Workarea
|
|
2
2
|
module Storefront
|
|
3
3
|
class ProductViewModel < ApplicationViewModel
|
|
4
|
-
|
|
5
4
|
def self.wrap(model, options = {})
|
|
6
5
|
if model.is_a?(Enumerable)
|
|
7
6
|
model.map { |m| wrap(m, options) }
|
|
@@ -11,6 +10,8 @@ module Workarea
|
|
|
11
10
|
else
|
|
12
11
|
new(model, options)
|
|
13
12
|
end
|
|
13
|
+
rescue NameError
|
|
14
|
+
new(model, options)
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
def breadcrumbs
|
|
@@ -47,6 +47,18 @@ module Workarea
|
|
|
47
47
|
assert_equal(5.to_m, order.items.first.total_price)
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
def test_fail_to_add_an_item
|
|
51
|
+
post storefront.cart_items_path,
|
|
52
|
+
params: {
|
|
53
|
+
product_id: @product.id,
|
|
54
|
+
sku: 'SKU1',
|
|
55
|
+
quantity: -1
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
assert_response(:success)
|
|
59
|
+
assert_empty(Order.all)
|
|
60
|
+
end
|
|
61
|
+
|
|
50
62
|
def test_adding_product_with_shared_skus
|
|
51
63
|
product_2 = Catalog::Product.create!(name: 'Product', variants: [{ sku: 'SKU1' }])
|
|
52
64
|
|
|
@@ -15,6 +15,14 @@ module Workarea
|
|
|
15
15
|
view_model = ProductViewModel.wrap(@product, one: '1')
|
|
16
16
|
assert_instance_of(ProductTemplates::OptionSelectsViewModel, view_model)
|
|
17
17
|
assert_equal('1', view_model.options[:one])
|
|
18
|
+
|
|
19
|
+
Workarea.with_config do |config|
|
|
20
|
+
config.product_templates << :no_view_model
|
|
21
|
+
@product.template = 'no_view_model'
|
|
22
|
+
view_model = ProductViewModel.wrap(@product, one: '1')
|
|
23
|
+
|
|
24
|
+
assert_kind_of(ProductViewModel, view_model)
|
|
25
|
+
end
|
|
18
26
|
end
|
|
19
27
|
|
|
20
28
|
def test_cache_key
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: workarea-storefront
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.
|
|
4
|
+
version: 3.4.45
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ben Crouse
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: workarea-core
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 3.4.
|
|
19
|
+
version: 3.4.45
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 3.4.
|
|
26
|
+
version: 3.4.45
|
|
27
27
|
description: Provides user-facing ecommerce storefront functionality for the Workarea
|
|
28
28
|
Commerce Platform.
|
|
29
29
|
email:
|
|
@@ -736,7 +736,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
736
736
|
- !ruby/object:Gem::Version
|
|
737
737
|
version: '0'
|
|
738
738
|
requirements: []
|
|
739
|
-
rubygems_version: 3.
|
|
739
|
+
rubygems_version: 3.2.3
|
|
740
740
|
signing_key:
|
|
741
741
|
specification_version: 4
|
|
742
742
|
summary: Storefront for the Workarea Commerce Platform
|