workarea-storefront 3.4.29 → 3.4.34
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/controllers/workarea/storefront/checkout/addresses_controller.rb +2 -0
- data/app/controllers/workarea/storefront/users/passwords_controller.rb +5 -1
- data/app/view_models/workarea/storefront/category_view_model.rb +1 -1
- data/app/views/workarea/storefront/fulfillment_mailer/shipped.html.haml +1 -1
- data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +2 -0
- data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +2 -0
- data/config/locales/en.yml +3 -2
- data/test/integration/workarea/storefront/categories_integration_test.rb +10 -0
- data/test/integration/workarea/storefront/checkouts_integration_test.rb +26 -0
- data/test/integration/workarea/storefront/search_integration_test.rb +10 -0
- data/test/integration/workarea/storefront/users/passwords_integration_test.rb +19 -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: 4bbdb37ed168c54fc07a70fabbb88326c0701c557d22dd037bd806620875ff26
|
|
4
|
+
data.tar.gz: ced79547f1104eea3896235cdb26055385ef360ce9207d49370547ce34672891
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e2d82fd8aaee4f4192cffe3ed8d238f4e442558d913f5e6752286088d0d9a4263be0d6fa5d08ac92732ad44c4ec7243f7485c6fba4569f5784550c1f479025ec
|
|
7
|
+
data.tar.gz: 87e9d758015728e89cfe83a016fcba1ec426ca49e8455211a9c8badcc0d8d49e453b526fff0cab0ccd8530018291427193a8b44cd0a002b0db802bbe4818a842
|
|
@@ -8,7 +8,11 @@ module Workarea
|
|
|
8
8
|
|
|
9
9
|
def edit
|
|
10
10
|
reset = User::PasswordReset.find_by(token: params[:token]) rescue nil
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
unless reset
|
|
13
|
+
flash[:error] = t('workarea.storefront.flash_messages.password_reset_expired')
|
|
14
|
+
redirect_to forgot_password_path
|
|
15
|
+
end
|
|
12
16
|
end
|
|
13
17
|
|
|
14
18
|
def create
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
= append_partials('storefront.fulfillment_shipped_mailer.top')
|
|
2
2
|
|
|
3
3
|
- content_for :preheader_text do
|
|
4
|
-
= t('workarea.storefront.email.
|
|
4
|
+
= t('workarea.storefront.email.order_shipped.heading', order_id: @order.id)
|
|
5
5
|
|
|
6
6
|
%tr
|
|
7
7
|
%td
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
.product-prices.product-prices--details{ itemprop: 'offers', itemscope: true, itemtype: 'http://schema.org/Offer' }
|
|
11
11
|
= render 'workarea/storefront/products/pricing', product: product
|
|
12
12
|
|
|
13
|
+
= append_partials('storefront.product_pricing_details', product: product)
|
|
14
|
+
|
|
13
15
|
- if product.description.present?
|
|
14
16
|
.product-details__description
|
|
15
17
|
%p= truncated_product_description(product, t('workarea.storefront.products.read_more'))
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
.product-prices.product-prices--details{ itemprop: 'offers', itemscope: true, itemtype: 'http://schema.org/Offer' }
|
|
11
11
|
= render 'workarea/storefront/products/pricing', product: product
|
|
12
12
|
|
|
13
|
+
= append_partials('storefront.product_pricing_details', product: product)
|
|
14
|
+
|
|
13
15
|
- if product.description.present?
|
|
14
16
|
.product-details__description
|
|
15
17
|
%p= truncated_product_description(product, t('workarea.storefront.products.read_more'))
|
data/config/locales/en.yml
CHANGED
|
@@ -201,13 +201,14 @@ en:
|
|
|
201
201
|
credit_card_update_error: There were errors updating your credit card.
|
|
202
202
|
credit_card_removed: Your credit card has been removed.
|
|
203
203
|
password_reset_expired: This password reset is expired.
|
|
204
|
-
password_reset_email_sent: If a valid
|
|
204
|
+
password_reset_email_sent: If a valid email address was entered, instructions to reset your password have been sent to "%{email}"
|
|
205
205
|
password_reset: Your password has been reset.
|
|
206
206
|
old_password_invalid: Your old password is not valid.
|
|
207
207
|
password_required: Password is required.
|
|
208
208
|
items_required: You must add an item to your cart to checkout
|
|
209
209
|
order_custom_pricing: Your cart has custom pricing, you cannot edit the contents of your cart.
|
|
210
|
-
no_available_shipping_options: There are no available shipping options for your shipping
|
|
210
|
+
no_available_shipping_options: There are no available shipping options for your shipping address.
|
|
211
|
+
download_unavailable: This download is no longer available. Contact customer support for more information.
|
|
211
212
|
|
|
212
213
|
forms:
|
|
213
214
|
required: '*'
|
|
@@ -16,6 +16,16 @@ module Workarea
|
|
|
16
16
|
get storefront.category_path(create_category(active: false))
|
|
17
17
|
assert(response.ok?)
|
|
18
18
|
end
|
|
19
|
+
|
|
20
|
+
def test_not_accepting_per_page_param
|
|
21
|
+
products = [create_product, create_product]
|
|
22
|
+
category = create_category(product_ids: products.map(&:id))
|
|
23
|
+
|
|
24
|
+
get storefront.category_path(category, page: 1, per_page: 1)
|
|
25
|
+
assert(response.ok?)
|
|
26
|
+
assert_includes(response.body, storefront.product_path(products.first))
|
|
27
|
+
assert_includes(response.body, storefront.product_path(products.second))
|
|
28
|
+
end
|
|
19
29
|
end
|
|
20
30
|
end
|
|
21
31
|
end
|
|
@@ -262,6 +262,32 @@ module Workarea
|
|
|
262
262
|
|
|
263
263
|
assert(flash[:error].present?)
|
|
264
264
|
end
|
|
265
|
+
|
|
266
|
+
def test_no_required_shipping_address_options_flash_message
|
|
267
|
+
product = create_product(digital: true)
|
|
268
|
+
|
|
269
|
+
post storefront.cart_items_path,
|
|
270
|
+
params: { product_id: product.id, sku: product.skus.first, quantity: 1 }
|
|
271
|
+
|
|
272
|
+
get storefront.checkout_addresses_path
|
|
273
|
+
|
|
274
|
+
patch storefront.checkout_addresses_path,
|
|
275
|
+
params: {
|
|
276
|
+
email: 'bcrouse@weblinc.com',
|
|
277
|
+
billing_address: {
|
|
278
|
+
first_name: 'Ben',
|
|
279
|
+
last_name: 'Crouse',
|
|
280
|
+
street: '12 N. 3rd St.',
|
|
281
|
+
city: 'Philadelphia',
|
|
282
|
+
region: 'PA',
|
|
283
|
+
postal_code: '19106',
|
|
284
|
+
country: 'US',
|
|
285
|
+
phone_number: '2159251800'
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
refute(flash[:error].present?)
|
|
290
|
+
end
|
|
265
291
|
end
|
|
266
292
|
end
|
|
267
293
|
end
|
|
@@ -123,6 +123,16 @@ module Workarea
|
|
|
123
123
|
assert_includes(response.body, 'Foo A')
|
|
124
124
|
assert_includes(response.body, 'Foo B')
|
|
125
125
|
end
|
|
126
|
+
|
|
127
|
+
def test_not_accepting_per_page_param
|
|
128
|
+
one = create_product(name: 'Foo A')
|
|
129
|
+
two = create_product(name: 'Foo B')
|
|
130
|
+
|
|
131
|
+
get storefront.search_path(q: 'foo', page: 1, per_page: 1)
|
|
132
|
+
assert(response.ok?)
|
|
133
|
+
assert_includes(response.body, storefront.product_path(one))
|
|
134
|
+
assert_includes(response.body, storefront.product_path(two))
|
|
135
|
+
end
|
|
126
136
|
end
|
|
127
137
|
end
|
|
128
138
|
end
|
|
@@ -31,6 +31,7 @@ module Workarea
|
|
|
31
31
|
|
|
32
32
|
def test_handles_a_missing_password_reset
|
|
33
33
|
get storefront.reset_password_path(token: 'foo')
|
|
34
|
+
assert(flash[:error].present?)
|
|
34
35
|
assert_redirected_to(storefront.forgot_password_path)
|
|
35
36
|
end
|
|
36
37
|
|
|
@@ -42,6 +43,24 @@ module Workarea
|
|
|
42
43
|
assert(flash[:error].present?)
|
|
43
44
|
assert(response.redirect?)
|
|
44
45
|
end
|
|
46
|
+
|
|
47
|
+
def test_expired_resets
|
|
48
|
+
post storefront.forgot_password_path, params: { email: 'passwords@workarea.com' }
|
|
49
|
+
first = User::PasswordReset.desc(:created_at).first
|
|
50
|
+
|
|
51
|
+
get storefront.reset_password_path(token: first.token)
|
|
52
|
+
assert(response.ok?)
|
|
53
|
+
|
|
54
|
+
post storefront.forgot_password_path, params: { email: 'passwords@workarea.com' }
|
|
55
|
+
second = User::PasswordReset.desc(:created_at).first
|
|
56
|
+
|
|
57
|
+
get storefront.reset_password_path(token: second.token)
|
|
58
|
+
assert(response.ok?)
|
|
59
|
+
|
|
60
|
+
get storefront.reset_password_path(token: first.token)
|
|
61
|
+
assert(flash[:error].present?)
|
|
62
|
+
assert_redirected_to(storefront.forgot_password_path)
|
|
63
|
+
end
|
|
45
64
|
end
|
|
46
65
|
end
|
|
47
66
|
end
|
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.34
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ben Crouse
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-06-11 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.34
|
|
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.34
|
|
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.0.
|
|
739
|
+
rubygems_version: 3.0.3
|
|
740
740
|
signing_key:
|
|
741
741
|
specification_version: 4
|
|
742
742
|
summary: Storefront for the Workarea Commerce Platform
|