{ "elements": { "wpvrelement": { "settings": { "name": "WP VR", "metaThumbnailUrl": "[publicPath]/thumbnail.png", "metaPreviewUrl": "[publicPath]/preview.jpg", "metaDescription": "Apply WP VR" } } }, "categories": { "Misc": { "elements": [ "wpvrelement" ] } } } /*! pro-elements - v4.1.0 - 26-05-2026 */ .e-woo-select2-wrapper .select2-results__option{color:#69727d;font-family:Roboto,sans-serif;font-size:14px}.e-woo-select2-wrapper .select2-results__option:focus{color:#69727d}.elementor-widget-woocommerce-cart.e-cart-layout-one-column .e-cart__container{grid-template-columns:auto}.elementor-widget-woocommerce-cart table tbody tr:hover>td,.elementor-widget-woocommerce-cart table tbody tr:hover>th{background-color:inherit}.elementor-widget-woocommerce-cart .e-clear{height:0;overflow:hidden;width:0}.elementor-widget-woocommerce-cart .e-cart-section{background-color:var(--sections-background-color,#fff);border-color:var(--sections-border-color,#d5d8dc);border-radius:var(--sections-border-radius,3px);border-style:var(--sections-border-type,solid);border-width:1px;margin:var(--sections-margin,0 0 30px 0);padding:var(--sections-padding,16px 30px)}.elementor-widget-woocommerce-cart .e-cart-section--no-coupon{margin:var(--sections-margin,0 0 0 0)}@media (min-width:1024px){.elementor-widget-woocommerce-cart .e-cart-section:last-child{margin:var(--sections-margin,0)}}.elementor-widget-woocommerce-cart .e-cart-content{color:var(--sections-descriptions-color,#69727d);font-size:15px;font-weight:400;letter-spacing:0;line-height:23px}.elementor-widget-woocommerce-cart .e-cart__container{align-items:stretch;display:grid;flex-wrap:wrap;grid-template-columns:59% auto;grid-column-gap:var(--sections-margin,30px);grid-row-gap:var(--sections-margin,30px)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .e-cart__container{grid-template-columns:repeat(1,1fr)}}.elementor-widget-woocommerce-cart .e-cart-layout-one-column .e-cart__container{grid-template-columns:auto}.elementor-widget-woocommerce-cart .select2-container{margin-bottom:4px}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single{background-color:#f9fafa;border:none;border-radius:var(--forms-fields-border-radius,0);color:var(--forms-fields-normal-color,#69727d);height:45px}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single:focus{background-color:#f9fafa;border-color:var(--forms-fields-focus-border-color,initial);color:var(--forms-fields-focus-color,#69727d);transition-duration:var(--forms-fields-focus-transition-duration,.3s)}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--forms-fields-normal-color,#69727d)}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--forms-fields-normal-color,#69727d);line-height:45px;padding-inline:1rem}.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow{height:45px}.elementor-widget-woocommerce-cart .select2-container--open .select2-dropdown--below{background-color:#f9fafa}.elementor-widget-woocommerce-cart .woocommerce{font-family:Roboto,sans-serif}.elementor-widget-woocommerce-cart .woocommerce button.button{background-color:var(--e-a-bg-default);border-color:var(--forms-buttons-border-color,#5bc0de);border-radius:var(--forms-buttons-border-radius,3px);border-style:var(--forms-buttons-border-type,solid);border-width:2px;color:var(--forms-buttons-normal-text-color,#69727d);padding:var(--forms-buttons-padding,.88rem 2rem);width:var(--forms-buttons-width,auto)}.elementor-widget-woocommerce-cart .woocommerce button.button:hover{border-color:var(--forms-buttons-hover-border-color,#5bc0de);color:var(--forms-buttons-hover-text-color,#69727d);transition-duration:var(--forms-buttons-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce button.button.disabled,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled[disabled]{color:var(--forms-buttons-normal-text-color,#69727d);padding:var(--forms-buttons-padding,.88rem 2rem)}.elementor-widget-woocommerce-cart .woocommerce button.button.disabled:hover,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled:hover,.elementor-widget-woocommerce-cart .woocommerce button.button:disabled[disabled]:hover{background-color:var(--forms-buttons-hover-background-color,#fff);border-color:var(--forms-buttons-hover-border-color,#5bc0de);color:var(--forms-buttons-hover-text-color,#69727d);transition-duration:var(--forms-buttons-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce #shipping_method li label{color:var(--sections-radio-buttons-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce #shipping_method li input{vertical-align:middle}.elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-form{margin-top:var(--sections-descriptions-spacing,15px)}.elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-destination{color:var(--sections-descriptions-color,#69727d);margin-bottom:0}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tbody th{display:none}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td{text-align:start!important}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td:before,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td:before{margin-bottom:10px;width:100%}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr td{text-align:end!important}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tr td:before,.elementor-widget-woocommerce-cart .woocommerce-page .cart_totals table.shop_table_responsive tr td:before{content:attr(data-title);float:inline-start;font-weight:700}.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{text-align:var(--totals-title-alignment,start)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td{padding-bottom:var(--totals-rows-gap-bottom,9px);padding-top:var(--totals-rows-gap-top,12px)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount,.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td:before{color:var(--totals-color,#69727d);font-weight:700}.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total td{border-top-color:var(--totals-divider-color,#69727d);border-top-width:var(--totals-divider-weight,0)}.elementor-widget-woocommerce-cart .woocommerce .cart_totals .form-row{margin-bottom:var(--forms-rows-gap,6px)}.elementor-widget-woocommerce-cart .woocommerce .product-name a{color:var(--product-link-normal-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .product-name a:hover{color:var(--product-link-hover-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .form-row{margin:0;padding:3px 0}.elementor-widget-woocommerce-cart .woocommerce .input-text,.elementor-widget-woocommerce-cart .woocommerce select{background-color:#f9fafa;border:none;border-radius:var(--forms-fields-border-radius,3px);color:var(--forms-fields-normal-color,#69727d);font-size:14px;padding:var(--forms-fields-padding,16px)}.elementor-widget-woocommerce-cart .woocommerce .input-text::-moz-placeholder,.elementor-widget-woocommerce-cart .woocommerce select::-moz-placeholder{color:var(--forms-fields-normal-color,inherit);font-family:inherit;opacity:.6}.elementor-widget-woocommerce-cart .woocommerce .input-text::placeholder,.elementor-widget-woocommerce-cart .woocommerce select::placeholder{color:var(--forms-fields-normal-color,inherit);font-family:inherit;opacity:.6}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus,.elementor-widget-woocommerce-cart .woocommerce select:focus{background-color:#f9fafa;border-color:var(--forms-fields-focus-border-color,transparent);color:var(--forms-fields-focus-color,#69727d);transition-duration:var(--forms-fields-focus-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus::-moz-placeholder,.elementor-widget-woocommerce-cart .woocommerce select:focus::-moz-placeholder{color:var(--forms-fields-focus-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce .input-text:focus::placeholder,.elementor-widget-woocommerce-cart .woocommerce select:focus::placeholder{color:var(--forms-fields-focus-color,#69727d)}.elementor-widget-woocommerce-cart .woocommerce .input-text.qty{background-color:transparent;border-color:var(--order-summary-quantity-border-color,#d5d8dc);border-radius:3px;border-style:solid;border-width:var(--order-summary-quantity-border-weight,1px);color:var(--order-summary-color,#000);font-size:14px;max-height:28px;min-height:28px;padding:1px 2px;text-align:start}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout{align-items:var(--place-order-title-alignment,stretch);display:flex;flex-direction:column;flex-wrap:wrap;padding-bottom:0}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button{background-color:#5bc0de;border-radius:var(--checkout-button-border-radius,3px);color:var(--checkout-button-normal-text-color,#fff);font-size:15px;margin-bottom:0;min-height:auto;padding:var(--checkout-button-padding,15px 1em);text-align:center;width:var(--checkout-button-width,auto)}.elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button:hover{background-color:#5bc0de;border-color:var(--checkout-button-hover-border-color,#5bc0de);color:var(--checkout-button-hover-text-color,#fff);transition-duration:var(--checkout-button-hover-transition-duration,.3s)}.elementor-widget-woocommerce-cart .woocommerce .remove{background:transparent;color:var(--order-summary-remove-icon-normal-color,#000)!important;width:auto}.elementor-widget-woocommerce-cart .woocommerce .remove:hover{background:transparent;color:var(--order-summary-remove-icon-hover-color,#5bc0de)!important}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals{float:none;width:100%}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals td{padding-inline-start:0}.elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals .woocommerce-shipping-totals td{padding-inline-end:0}.elementor-widget-woocommerce-cart .woocommerce .coupon .button{float:inline-end;width:100%}.elementor-widget-woocommerce-cart .woocommerce .coupon .form-row{padding:0}.elementor-widget-woocommerce-cart .woocommerce .coupon-col{display:flex}.elementor-widget-woocommerce-cart .woocommerce .coupon-col-start{flex:2;padding-inline-end:30px}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce .coupon-col-start{padding-inline-end:0}}.elementor-widget-woocommerce-cart .woocommerce .coupon-col-end{flex:1}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce .coupon-col-end{text-align:var(--apply-coupon-button-alignment,center)}.elementor-widget-woocommerce-cart .woocommerce .coupon-col{display:block}.elementor-widget-woocommerce-cart .woocommerce .coupon{margin:var(--sections-margin,0)}.elementor-widget-woocommerce-cart .woocommerce .coupon #coupon_code{margin-inline-end:0;margin-bottom:15px;width:100%}.elementor-widget-woocommerce-cart .woocommerce .coupon .button{float:none;width:var(--apply-coupon-button-width,100%)}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table{border:0 solid}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .button{float:inline-start;font-size:14px;font-weight:700}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions{display:table-cell;text-align:var(--update-cart-button-alignment,start)!important}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button{display:inline-block!important;float:none;width:var(--update-cart-button-width,auto)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button{width:var(--update-cart-button-width,100%)!important}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form p:last-of-type{text-align:var(--update-shipping-button-alignment,start)}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form .button{float:none;width:var(--update-shipping-button-width,auto)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table .shipping-calculator-form .button{width:var(--update-shipping-button-width,100%)}}.elementor-widget-woocommerce-cart .woocommerce table.shop_table td,.elementor-widget-woocommerce-cart .woocommerce table.shop_table th,.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr{border:0 solid}.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr:nth-child(odd)>td,.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr:nth-child(odd)>th{background-color:transparent}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .actions{padding:16px 0 0}.elementor-widget-woocommerce-cart .woocommerce table.shop_table .product-remove a{display:inline-block}.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody tr:last-child{display:var(--update-cart-automatically-display,table-row)}.elementor-widget-woocommerce-cart .woocommerce table.cart{margin-bottom:0}.elementor-widget-woocommerce-cart .woocommerce table.cart img{display:block;height:auto;width:55px}.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-bottom:var(--order-summary-rows-gap-bottom,20px);padding-top:var(--order-summary-rows-gap-top,20px);padding-inline:0 20px}.elementor-widget-woocommerce-cart .woocommerce table.cart td span{color:var(--order-summary-color,#000);font-size:14px;font-weight:400}.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail{border-top:var(--order-summary-items-divider-weight,1px) solid var(--order-summary-items-divider-color,#d5d8dc)}@media (max-width:768px){.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-price,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-quantity,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-subtotal,.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail{border-top-width:0}}.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove{padding-inline:0}@media (min-width:767px){.elementor-widget-woocommerce-cart .woocommerce table.cart tbody tr:first-child td{border-top:none}}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.cart.product-remove{position:relative}.elementor-widget-woocommerce-cart .woocommerce table.cart.product-name{padding-inline-end:0}.elementor-widget-woocommerce-cart .woocommerce table.cart tr{border-top-color:var(--order-summary-items-divider-color,#d5d8dc);border-top-width:var(--order-summary-items-divider-weight,1px)}.elementor-widget-woocommerce-cart .woocommerce table.cart tr:first-child{border-top:none}}@media (max-width:768px){.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-inline:0}}@media (max-width:767px){.elementor-widget-woocommerce-cart .woocommerce table.cart{padding:0}.elementor-widget-woocommerce-cart .woocommerce table.cart tr{padding:16px 28px}.elementor-widget-woocommerce-cart .woocommerce table.cart tr:first-child{border-top:none}.elementor-widget-woocommerce-cart .woocommerce table.cart td{padding-inline:0}.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name,.elementor-widget-woocommerce-cart .woocommerce table.cart td:first-child{border-top:none}.elementor-widget-woocommerce-cart .woocommerce table.cart td.actions{padding:0}}.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward){color:var(--links-normal-color,#5bc0de)}.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward):hover{color:var(--links-hover-color,#5bc0de)}.elementor-widget-woocommerce-cart .woocommerce .cart th,.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{font-size:14px;font-weight:700;margin-top:0;padding-bottom:8px;padding-top:0;padding-inline:0 20px}.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{color:var(--sections-title-color,#000);margin-bottom:var(--sections-title-spacing,1rem)}.elementor-widget-woocommerce-cart .woocommerce .cart th{color:var(--order-summary-title-color,#000);padding-bottom:var(--order-summary-title-spacing,8px)}.elementor-widget-woocommerce-cart .woocommerce .cart td:before{color:var(--order-summary-title-color,#000)}.elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-button:after{display:none}.elementor-widget-woocommerce-cart .woocommerce .product-name .variation{color:var(--order-summary-variations-color,#000)}@media (max-width:1024px){.elementor-widget-woocommerce-cart .woocommerce table.shop_table_responsive tr:nth-child(2n) td,.elementor-widget-woocommerce-cart .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background-color:transparent}.elementor-widget-woocommerce-cart .woocommerce .cart_totals .shop_table_responsive td{padding-inline-start:0}}.e-preview--show-hidden-elements .elementor-widget-woocommerce-cart .woocommerce #shipping_method input,.e-preview--show-hidden-elements .elementor-widget-woocommerce-cart .woocommerce .shipping-calculator-form button[name=calc_shipping]{pointer-events:none}.woocommerce div.product.elementor form.cart div.product-addon{flex-basis:100%;flex-shrink:0}.e-sticky-right-column--active{position:sticky;top:0}/* Plugin visibility module ------------------------ */ .plugins thead .ame-check-column, .plugins tfoot .ame-check-column { padding: 4px 0 0 6px; vertical-align: middle; width: 2.2em; } .plugins .ame-check-column { vertical-align: top; } /* Plugin status indicator on the check column */ .plugins .active th.ame-check-column, .plugin-update-tr.active td { border-left: 4px solid #2ea2cc; } .plugins thead th.ame-check-column, .plugins tfoot th.ame-check-column, .plugins .inactive th.ame-check-column { padding-left: 6px; } .plugins tbody th.ame-check-column, .plugins tbody { padding: 8px 0 0 2px; } .plugins tbody th.ame-check-column input[type=checkbox] { margin-top: 4px; } /* The "Save Changes" form */ .ame-pv-save-form { float: right; margin-top: 5px; margin-bottom: 6px; } //Make room for th save button. #ws_actor_selector_container { margin-right: 130px; } /* Inline editor */ #ame-plugin-visibility-editor .inline-edit-row { .ame-pv-inline-edit-left { width: 35%; } .ame-pv-inline-edit-right { width: 65%; } span.title { width: auto; } input[type="text"] { width: 100%; } .ame-pv-custom-description { height: 9em; } .ame-pv-inline-reset { line-height: 28px; margin-left: 1em; } td { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } p.submit { margin-bottom: 0.2em; } .inline-edit-legend { margin: 0; padding: 0.2em 0.5em 0; line-height: 2.5; font-weight: 600; } } /* The "New Plugins" option is displayed in the table footer. It needs to override some default footer styles. */ .plugins tfoot .ame-pv-new-plugin-visibility-row { th.ame-check-column { padding-top: 8px; vertical-align: top; input[type=checkbox] { margin-top: 4px; } } ul { list-style: inside disc; margin-left: 1em; margin-top: 0.8em; } th, td { border-top: none; } }import { getSiteImages } from '@launch/api/DataApi'; jest.mock( './getSiteImages.deps', () => ({ IMAGES_HOST: 'https://img.example.com', extraBody: { foo: 'bar', baz: 'qux' }, useUserSelectionStore: { getState: jest.fn(() => ({ siteInformation: { title: 'My Site' } })), }, }), { virtual: true }, ); const makeResponse = (ok, body) => ({ ok, json: async () => body, }); describe('getSiteImages', () => { const originalFetch = global.fetch; const originalAbortSignal = global.AbortSignal; beforeEach(() => { jest.resetAllMocks(); global.fetch = jest.fn(); global.AbortSignal = { ...originalAbortSignal, timeout: jest.fn((ms) => ({ __fakeTimeoutSignal: true, ms })), }; }); afterEach(() => { global.fetch = originalFetch; global.AbortSignal = originalAbortSignal; }); test('returns fallback when response.ok = false', async () => { global.fetch.mockResolvedValueOnce(makeResponse(false, {})); const data = await getSiteImages({ aiSiteType: 'x', aiSiteCategory: 'y', aiDescription: 'z', aiKeywords: 'k', }); expect(data).toEqual({ siteImages: [] }); }); test('returns fallback when json() throws an error (invalid body)', async () => { global.fetch.mockResolvedValueOnce({ ok: true, json: async () => { throw new Error('invalid json'); }, }); const data = await getSiteImages({ aiSiteType: 'x', aiSiteCategory: 'y', aiDescription: 'z', aiKeywords: 'k', }); expect(data).toEqual({ siteImages: [] }); }); test('handles first timeout → retries → succeeds', async () => { global.fetch .mockRejectedValueOnce(new Error('AbortError: The operation was aborted')) .mockResolvedValueOnce(makeResponse(true, { siteImages: ['ok.jpg'] })); const data = await getSiteImages({ aiSiteType: 'x', aiSiteCategory: 'y', aiDescription: 'z', aiKeywords: 'k', }); expect(global.fetch).toHaveBeenCalledTimes(2); expect(data).toEqual({ siteImages: ['ok.jpg'] }); expect(global.AbortSignal.timeout).toHaveBeenCalledTimes(2); expect(global.AbortSignal.timeout).toHaveBeenNthCalledWith(1, 10000); expect(global.AbortSignal.timeout).toHaveBeenNthCalledWith(2, 10000); }); test('handles first timeout → second timeout → returns fallback', async () => { global.fetch .mockRejectedValueOnce(new Error('AbortError: timeout 1')) .mockRejectedValueOnce(new Error('AbortError: timeout 2')); const data = await getSiteImages({ aiSiteType: 'x', aiSiteCategory: 'y', aiDescription: 'z', aiKeywords: 'k', }); expect(global.fetch).toHaveBeenCalledTimes(2); expect(data).toEqual({ siteImages: [] }); }); test('returns fallback when response body lacks siteImages', async () => { global.fetch.mockResolvedValueOnce(makeResponse(true, { whatever: 123 })); const data = await getSiteImages({ aiSiteType: 'x', aiSiteCategory: 'y', aiDescription: 'z', aiKeywords: 'k', }); expect(data).toEqual({ siteImages: [] }); }); }); {"translation-revision-date":"2023-10-17 14:48:06+0000","generator":"WP-CLI\/2.12.0","source":"src\/Assist\/tasks\/upload-logo.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Upload a logo":["Enviar um logo"],"Ensure your website is on-brand by adding your logo.":["Garanta que seu site esteja alinhado \u00e0 sua marca adicionando seu logotipo."],"Replace":["Substituir"],"Upload":["Enviar"]}}}{"translation-revision-date":"2026-06-30 07:01+0000","generator":"Loco https:\/\/localise.biz\/","source":"frontend\/blocks\/subscription-block\/src\/edit.js","domain":"hostinger-reach","locale_data":{"hostinger-reach":{"":{"domain":"","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Add New Tag":["Adicionar nova tag"],"Add Tag":["Adicionar etiqueta"],"Default":["Padr\u00e3o"],"Enter tag name and press Enter or click Add Tag":["Digite o nome da tag e pressione Enter ou clique em Add Tag"],"Form ID":["ID do formul\u00e1rio"],"Inline":["Em linha"],"Layout":["Layout"],"Layout Settings":["Configura\u00e7\u00f5es de layout"],"New Tag Name":["Novo nome da etiqueta"],"Settings":["Configura\u00e7\u00f5es"],"Show Name Field?":["Mostrar campo de nome?"],"Show Surname Field?":["Mostrar campo de sobrenome?"],"Tags":["Tags"],"Unique identifier for this form":["Identificador exclusivo para este formul\u00e1rio"]}}} About Our Customers - Logo Sign Shop

About Our Customers

/About Our Customers

[vc_row][vc_column][/vc_column][/vc_row][vc_row][vc_column width=”1/6″][vc_single_image image=”2238″][vc_single_image image=”5304″ img_size=”250″][vc_single_image image=”2232″ img_size=”250 x250″][vc_single_image image=”5315″ img_size=”250 x250″][vc_single_image image=”2235″ img_size=”250 x250″][vc_single_image image=”3505″ img_size=”250 x250″][vc_single_image image=”3511″ img_size=”250″][vc_single_image image=”2228″ img_size=”250″][vc_single_image image=”3510″ img_size=”250″][vc_single_image image=”5320″ img_size=”250″][vc_single_image image=”2227″ img_size=”250″][/vc_column][vc_column width=”1/6″][vc_single_image image=”3513″ img_size=”250″][vc_single_image image=”2200″ img_size=”250″][vc_single_image image=”2229″ img_size=”250″][vc_single_image image=”3504″ img_size=”250 x250″][vc_single_image image=”2234″ img_size=”250″][vc_single_image image=”2221″ img_size=”250″][vc_single_image image=”2241″ img_size=”250″][vc_single_image image=”2248″ img_size=”250″][vc_single_image image=”5301″ img_size=”250″][vc_single_image image=”2226″ img_size=”250″][vc_single_image image=”5310″ img_size=”250″][/vc_column][vc_column width=”1/6″][vc_single_image image=”2246″ img_size=”250″][vc_single_image image=”2199″ img_size=”250″][vc_single_image image=”2237″ img_size=”250″][vc_single_image image=”2236″ img_size=”250″][vc_single_image image=”2225″ img_size=”250 x250″][vc_single_image image=”2231″ img_size=”250″][vc_single_image image=”5295″ img_size=”250″][vc_single_image image=”3508″ img_size=”250″][vc_single_image image=”5305″ img_size=”250″][vc_single_image image=”5303″ img_size=”250″][vc_single_image image=”5311″ img_size=”250″][/vc_column][vc_column width=”1/6″][vc_single_image image=”2239″ img_size=”250″][vc_single_image image=”2244″ img_size=”250 x250″][vc_single_image image=”2240″ img_size=”250″][vc_single_image image=”2230″ img_size=”250″][vc_single_image image=”2222″ img_size=”250″][vc_single_image image=”2207″ img_size=”250″][vc_single_image image=”5296″ img_size=”250″][vc_single_image image=”2247″ img_size=”250″][vc_single_image image=”5302″ img_size=”250″][vc_single_image image=”5306″ img_size=”250″][/vc_column][vc_column width=”1/3″][vc_column_text]We are very happy and thankful for our customers’ business. We do our best possible work for every one of our customers. Logo Sign Shop and Sort Thru Solutions have fabricated very diverse type of logo signs for the past years.

You can see our gallery of signs to see some examples. Logo Sign Shop Customers have started ordering our services with different design or sign fabrication requirements. You can call us at any stage of your needs. We can start designing a logo or if you have a logo we can design your logo sign, manufacture it and install it.

We are experts in handling custom work. Design a logo sign involves the selection of type of materials, thicknesses, dimension, colors, etc.

Here are listed types of signs fabricated for our current logo sign shop customers:

  1. Vehicle Logo Cut Out Graphics
  2. Vinyl Graphics Digitally Printed and applied to vehicles, counters, atm machines, kiosks and fridges
  3. Indoor Lobby reception Logo Signs, fabricated out of touted cut materials or mig-welded aluminum
  4. Outdoor Building Logo Business Signs, such as panface flat signs and fabricated individually installed logos and letters
  5. Banners, expo displays, pvc router cut letters and logos
  6. Storefront Glass Vinyl graphics
  7. Channel Letter Retail Store Signage
  8. Menu and Restaurant Signs
  9. Construction Site and Real Estate Signs

Our signs are designed, fabricated and installed on a professional way and taking care of every detailed along the processes from the time they are ordered until the time is set up for installation.

Contact us and let us know your sign needs. Let our company be part of sign and graphics decision.

Contact Us:
10720 N. Stemmons Fwy.
Dallas, TX 75220
1-972-247-1707
M-F: 8:00 am – 6:00 pm
Sat: 9:00 am – 1:00 pm[/vc_column_text][/vc_column][/vc_row]