Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Add default currency value for Storybook #8332

Closed
wants to merge 4 commits into from

Conversation

roykho
Copy link
Member

@roykho roykho commented Jan 30, 2023

This PR fixes the can't access property "minorUnit", currency is not defined error on the ProductPrice story.

Fixes #8145

User Facing Testing

  1. Checkout this branch.
  2. Run npm run storybook and open up the Storybook page.
  3. Go to the ProductPrice stories.
  4. Ensure you don't see any errors in the console and that the price is correctly displaying on the page.
  • Do not include in the Testing Notes

Changelog

Fix ProductPrice story in Storybook.

@roykho roykho added the type: storybook Issues related to storybook. label Jan 30, 2023
@woocommercebot woocommercebot requested review from a team and sunyatasattva and removed request for a team January 30, 2023 15:35
@github-actions
Copy link
Contributor

github-actions bot commented Jan 30, 2023

The release ZIP for this PR is accessible via:

https://wcblocks.wpcomstaging.com/wp-content/uploads/woocommerce-gutenberg-products-block-8332.zip

Script Dependencies Report

The compare-assets action has detected some changed script dependencies between this branch and trunk. Please review and confirm the following are correct before merging.

Script Handle Added Removed
reviews-frontend.js react, wc-settings, wp-a11y, wp-api-fetch, wp-compose, wp-element, wp-i18n, wp-is-shallow-equal, wp-polyfill ⚠️
active-filters-frontend.js lodash, react, wc-blocks-data-store, wc-price-format, wc-settings, wp-data, wp-element, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-polyfill, wp-primitives, wp-url ⚠️
all-products-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-blocks-shared-context, wc-blocks-shared-hocs, wc-price-format, wc-settings, wp-a11y, wp-api-fetch, wp-autop, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-polyfill, wp-primitives, wp-url, wp-warning, wp-wordcount ⚠️
attribute-filter-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-settings, wp-a11y, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-primitives, wp-url, wp-warning ⚠️
cart-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-blocks-shared-context, wc-blocks-shared-hocs, wc-price-format, wc-settings, wp-a11y, wp-api-fetch, wp-autop, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-plugins, wp-polyfill, wp-primitives, wp-url, wp-warning, wp-wordcount ⚠️
checkout-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-blocks-shared-hocs, wc-price-format, wc-settings, wp-a11y, wp-api-fetch, wp-autop, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-plugins, wp-polyfill, wp-primitives, wp-url, wp-warning, wp-wordcount ⚠️
filter-wrapper-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-price-format, wc-settings, wp-a11y, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-primitives, wp-url, wp-warning ⚠️
mini-cart-frontend.js wc-settings, wp-polyfill ⚠️
price-filter-frontend.js lodash, react, wc-blocks-data-store, wc-price-format, wc-settings, wp-data, wp-element, wp-i18n, wp-is-shallow-equal, wp-polyfill, wp-url ⚠️
rating-filter-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-settings, wp-a11y, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-primitives, wp-url, wp-warning ⚠️
single-product-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-blocks-shared-context, wc-blocks-shared-hocs, wc-price-format, wc-settings, wp-api-fetch, wp-autop, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-polyfill, wp-primitives, wp-url, wp-warning, wp-wordcount ⚠️
stock-filter-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-settings, wp-a11y, wp-block-editor, wp-blocks, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-primitives, wp-url, wp-warning ⚠️
mini-cart-component-frontend.js lodash, react, wc-blocks-checkout, wc-blocks-data-store, wc-blocks-registry, wc-price-format, wc-settings, wp-a11y, wp-autop, wp-compose, wp-data, wp-deprecated, wp-dom, wp-element, wp-hooks, wp-html-entities, wp-i18n, wp-is-shallow-equal, wp-keycodes, wp-polyfill, wp-primitives, wp-url, wp-warning, wp-wordcount ⚠️

This comment was automatically generated by the ./github/compare-assets action.

TypeScript Errors Report

  • Files with errors: 503
  • Total errors: 2343

🎉 🎉 This PR does not introduce new TS errors.

comments-aggregator

@github-actions
Copy link
Contributor

github-actions bot commented Jan 30, 2023

Size Change: +935 B (0%)

Total Size: 1.1 MB

Filename Size Change
build/active-filters.js 7.29 kB +3 B (0%)
build/all-products-frontend.js 11.7 kB +3 B (0%)
build/all-products.js 33.7 kB +64 B (0%)
build/attribute-filter.js 12.3 kB -25 B (0%)
build/breadcrumbs.js 2.04 kB +534 B (+35%) 🚨
build/cart-blocks/cart-cross-sells-products-frontend.js 9.69 kB +54 B (+1%)
build/cart-frontend.js 28.6 kB -1 B (0%)
build/cart.js 47.7 kB +38 B (0%)
build/checkout-frontend.js 30.2 kB -55 B (0%)
build/checkout.js 43.4 kB -9 B (0%)
build/featured-category.js 13.1 kB -35 B (0%)
build/featured-product.js 13.4 kB -29 B (0%)
build/filter-wrapper-frontend.js 14 kB -3 B (0%)
build/handpicked-products.js 7.24 kB -2 B (0%)
build/legacy-template.js 2.87 kB +1 B (0%)
build/mini-cart-contents.js 17 kB -3 B (0%)
build/price-filter-frontend.js 13.9 kB +10 B (0%)
build/price-filter-wrapper-frontend.js 6.99 kB +7 B (0%)
build/price-filter.js 8.35 kB -16 B (0%)
build/product-add-to-cart--product-button--product-category-list--product-image--product-price--product-r--a0326d00.js 228 B +1 B (0%)
build/product-add-to-cart.js 8.61 kB -3 B (0%)
build/product-best-sellers.js 7.59 kB -15 B (0%)
build/product-button--product-category-list--product-image--product-price--product-rating--product-sale-b--e17c7c01.js 494 B +55 B (+13%) ⚠️
build/product-button-frontend.js 2.19 kB +49 B (+2%)
build/product-category-list-frontend.js 1.19 kB +51 B (+4%)
build/product-category.js 8.58 kB -15 B (0%)
build/product-image-frontend.js 2.19 kB +49 B (+2%)
build/product-image.js 4.09 kB -3 B (0%)
build/product-new.js 7.58 kB -13 B (0%)
build/product-on-sale.js 7.91 kB -15 B (0%)
build/product-price-frontend.js 2.29 kB +51 B (+2%)
build/product-query.js 5.9 kB -19 B (0%)
build/product-rating-frontend.js 1.62 kB +48 B (+3%)
build/product-results-count.js 1.66 kB +1 B (0%)
build/product-sale-badge-frontend.js 1.42 kB +49 B (+4%)
build/product-sale-badge.js 816 B +4 B (0%)
build/product-stock-indicator-frontend.js 1.32 kB +57 B (+5%) 🔍
build/product-summary-frontend.js 1.58 kB +49 B (+3%)
build/product-tag-list-frontend.js 1.18 kB +52 B (+5%) 🔍
build/product-tag.js 8.07 kB -13 B (0%)
build/product-title-frontend.js 1.62 kB +52 B (+3%)
build/product-title.js 3.46 kB -2 B (0%)
build/product-top-rated.js 7.82 kB -15 B (0%)
build/products-by-attribute.js 8.52 kB -1 B (0%)
build/rating-filter-frontend.js 21.4 kB -17 B (0%)
build/rating-filter-wrapper-frontend.js 6.19 kB -11 B (0%)
build/rating-filter.js 7.37 kB -43 B (-1%)
build/reviews-by-category.js 11.2 kB -4 B (0%)
build/reviews-by-product.js 12.3 kB -2 B (0%)
build/single-product-frontend.js 17.9 kB +7 B (0%)
build/single-product.js 9.97 kB -11 B (0%)
build/stock-filter-frontend.js 21.1 kB -15 B (0%)
build/stock-filter-wrapper-frontend.js 5.85 kB -14 B (0%)
build/stock-filter.js 8.09 kB -37 B (0%)
build/store-notices.js 1.65 kB +1 B (0%)
build/wc-blocks-data.js 21.9 kB +41 B (0%)
build/wc-blocks-style-rtl.css 25.7 kB +24 B (0%)
build/wc-blocks-style.css 25.7 kB +24 B (0%)
build/wc-blocks-vendors.js 64.3 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 7.98 kB
build/active-filters-wrapper-frontend.js 6 kB
build/all-reviews.js 7.67 kB
build/attribute-filter-frontend.js 22.9 kB
build/attribute-filter-wrapper-frontend.js 7.66 kB
build/blocks-checkout.js 41 kB
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.38 kB
build/cart-blocks/cart-cross-sells-frontend.js 253 B
build/cart-blocks/cart-express-payment--checkout-blocks/express-payment-frontend.js 5.08 kB
build/cart-blocks/cart-express-payment-frontend.js 720 B
build/cart-blocks/cart-items-frontend.js 299 B
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.37 kB
build/cart-blocks/cart-line-items-frontend.js 1.07 kB
build/cart-blocks/cart-order-summary-frontend.js 1.25 kB
build/cart-blocks/cart-totals-frontend.js 321 B
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/filled-cart-frontend.js 656 B
build/cart-blocks/order-summary-coupon-form-frontend.js 1.63 kB
build/cart-blocks/order-summary-discount-frontend.js 2.13 kB
build/cart-blocks/order-summary-fee-frontend.js 274 B
build/cart-blocks/order-summary-heading-frontend.js 456 B
build/cart-blocks/order-summary-shipping-frontend.js 14.9 kB
build/cart-blocks/order-summary-subtotal-frontend.js 274 B
build/cart-blocks/order-summary-taxes-frontend.js 435 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.24 kB
build/catalog-sorting.js 1.69 kB
build/checkout-blocks/actions-frontend.js 1.85 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 3.92 kB
build/checkout-blocks/billing-address-frontend.js 1.16 kB
build/checkout-blocks/contact-information-frontend.js 2.05 kB
build/checkout-blocks/express-payment-frontend.js 1.13 kB
build/checkout-blocks/fields-frontend.js 344 B
build/checkout-blocks/order-note-frontend.js 1.14 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.68 kB
build/checkout-blocks/order-summary-coupon-form-frontend.js 1.79 kB
build/checkout-blocks/order-summary-discount-frontend.js 2.3 kB
build/checkout-blocks/order-summary-fee-frontend.js 277 B
build/checkout-blocks/order-summary-frontend.js 1.25 kB
build/checkout-blocks/order-summary-shipping-frontend.js 14.9 kB
build/checkout-blocks/order-summary-subtotal-frontend.js 275 B
build/checkout-blocks/order-summary-taxes-frontend.js 435 B
build/checkout-blocks/payment-frontend.js 8.33 kB
build/checkout-blocks/pickup-options-frontend.js 2.81 kB
build/checkout-blocks/shipping-address-frontend.js 1.12 kB
build/checkout-blocks/shipping-method-frontend.js 2.27 kB
build/checkout-blocks/shipping-methods-frontend.js 4.83 kB
build/checkout-blocks/terms-frontend.js 1.56 kB
build/checkout-blocks/totals-frontend.js 324 B
build/customer-account.js 3.08 kB
build/filter-wrapper.js 2.4 kB
build/general-style-rtl.css 1.31 kB
build/general-style.css 1.31 kB
build/mini-cart-component-frontend.js 27.9 kB
build/mini-cart-contents-block/empty-cart-frontend.js 366 B
build/mini-cart-contents-block/filled-cart-frontend.js 268 B
build/mini-cart-contents-block/footer-frontend.js 2.82 kB
build/mini-cart-contents-block/items-frontend.js 237 B
build/mini-cart-contents-block/products-table-frontend.js 590 B
build/mini-cart-contents-block/shopping-button-frontend.js 313 B
build/mini-cart-contents-block/title-frontend.js 367 B
build/mini-cart-frontend.js 2 kB
build/mini-cart.js 4.29 kB
build/price-format.js 1.19 kB
build/product-add-to-cart--product-button--product-image--product-rating--product-title.js 151 B
build/product-add-to-cart-frontend.js 6.71 kB
build/product-button--product-image--product-price--product-rating--product-sale-badge--product-title.js 258 B
build/product-button.js 3.99 kB
build/product-categories.js 2.36 kB
build/product-category-list.js 503 B
build/product-price.js 1.58 kB
build/product-rating.js 920 B
build/product-search.js 2.6 kB
build/product-sku-frontend.js 629 B
build/product-sku.js 378 B
build/product-stock-indicator.js 646 B
build/product-summary.js 920 B
build/product-tag-list.js 497 B
build/reviews-frontend.js 7.14 kB
build/vendors--attribute-filter-wrapper--cart-blocks/cart-cross-sells-products--cart-blocks/order-summary--82e4ed06-frontend.js 6.86 kB
build/vendors--attribute-filter-wrapper--rating-filter-wrapper--stock-filter-wrapper-frontend.js 7.7 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/cart-line-items--cart-blocks/cart-order--3c5fe802-frontend.js 5.26 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/order-summary-shipping--checkout-blocks--18f9376a-frontend.js 19.4 kB
build/vendors--cart-blocks/cart-cross-sells-products--product-add-to-cart-frontend.js 7.53 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--5b8feb0b-frontend.js 4.83 kB
build/vendors--checkout-blocks/shipping-method-frontend.js 12 kB
build/vendors--checkout-blocks/shipping-methods-frontend.js 9.48 kB
build/wc-blocks-editor-style-rtl.css 5.47 kB
build/wc-blocks-editor-style.css 5.47 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 933 B
build/wc-blocks-registry.js 3.16 kB
build/wc-blocks-shared-context.js 1.52 kB
build/wc-blocks-shared-hocs.js 1.73 kB
build/wc-blocks-vendors-style-rtl.css 1.96 kB
build/wc-blocks-vendors-style.css 1.96 kB
build/wc-blocks.js 2.63 kB
build/wc-payment-method-bacs.js 816 B
build/wc-payment-method-cheque.js 811 B
build/wc-payment-method-cod.js 909 B
build/wc-payment-method-paypal.js 837 B
build/wc-settings.js 2.6 kB
build/wc-shipping-method-pickup-location.js 29.7 kB
build/wp-directives-runtime.js 2.4 kB
build/wp-directives-vendors.js 7.89 kB

compressed-size-action

@roykho
Copy link
Member Author

roykho commented Jan 30, 2023

There seems to be failing JS Unit tests -- Looking into this.

This is fixed.

Copy link
Contributor

@Aljullu Aljullu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirming it fixes the issue, thanks @roykho! It looks like this happened because when the component was loaded in the Story Book, it didn't have a currency by default.

I'm not sure about fixing it in the components itself instead of fixing it in the story, though. 🤔 If we do expect all currencies to have minorUnit, I don't think we need to add a guard in the component code. Instead, we could fix it in the story control setting defaultValue: currencies.USD,. What do you think?

@roykho
Copy link
Member Author

roykho commented Feb 3, 2023

@Aljullu - Yeah I agree. Good catch. I just pushed up the changes.

@roykho roykho changed the title Check if object exists otherwise return default Add default currency value for Storybook Feb 3, 2023
@roykho roykho requested a review from Aljullu February 3, 2023 14:10
@sunyatasattva
Copy link
Contributor

Sorry I just saw this now. Just to let you folks know, there was already a PR open for this here. I'm not sure why the GitHub interface didn't pick it up. We were discussing with @thealexandrelara some type issues within the story, and I kind of deprioritized it.

Not sure if we should continue the work on the Storybook default there, and perhaps leave this PR as adding a default currency, if we want.

@roykho
Copy link
Member Author

roykho commented Feb 3, 2023

Ah ok, since a lot of conversation has been had in your other PR I think any changes to fix this should be done there to prevent future confusions. So I will close this one.

@roykho roykho closed this Feb 3, 2023
@roykho roykho deleted the fix/storybook-productprice branch February 3, 2023 18:04
@sunyatasattva
Copy link
Contributor

Sorry @roykho for not catching this earlier! I hope the work on Storybook was anyways somehow instructive and propaedeutic to your knowledge of the repo 🙏

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: storybook Issues related to storybook.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ProductPrice story is broken
3 participants