{ "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"]}}} Sign Hand Painting - Logo Sign Shop

WALLS SIGNS PAINTED MATCHING THE PAST WITH A NEW LOOK YOUR RENOVATION SOLUTION CUSTOM HAND PAINTED SIGNS WALLS SIGNS PAINTED MATCHING THE PAST WITH A NEW LOOK

Sign Hand Painting

/Sign Hand Painting

[vc_row][vc_column width=”1/2″][vc_column_text]You can check out the wall signs painted on the red brick buildings in downtown Dallas in the West End area. One of the buildings is the newly built apartment complex on Ross St. and Houston St. The other is the remodeled building at Market St. and Ross St. We painted all the wall signs around the top areas of these buildings in black-and-white so they would look like the signs that were originally painted on the bricks 100 years ago.
They really do look like they are from that time era. It was a major job getting all the ducks lined up to accomplish these projects for the building owners but we got it all approved through the several committees for the downtown area with the cooperation and help of the property management companies.
We followed up with our final challenge which was getting the street department to issue a street traffic control permits to control the traffic on seven areas of the West End streets from 9 AM to 3:30 PM Monday through Friday over a two month period. This needed to be done because we needed to have a 80 foot Genie lift parked on the streets to lift the sign painters to the top areas of the two buildings on each side for several hours a day in order to paint all of these signs.
This is a tremendous amount of planning because it requires scale engineering drawings of the streets and intersections to propose the dates and times we needed to block one lane of traffic along with the certification documentation of the DOT. We needed to meet the Dallas Street department rules and required certifications such as a flagman that we would need to have on duty at all times. We are licensed to do traffic control so this was possible for us to accomplish as a company.[/vc_column_text][/vc_column][vc_column width=”1/2″][vc_single_image image=”2373″ img_size=”large”][/vc_column][/vc_row]