fix:licenses #12
fix:licenses #12
Jest tests failed
Failed tests: 11/958. Failed suites: 11/132.
Details
β AppsPage βΊ Custom Safe apps Page βΊ Requires risk acknowledgment checkbox to add the app
Unable to find an element with the text: /This Safe App is not part of Safe{Wallet} and I agree to use it at my own risk\./. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body
style="padding-right: 1024px; overflow: hidden;"
>
<div
aria-hidden="true"
>
<div
class="container"
tabindex="0"
>
<mock-icon />
<h6
class="MuiTypography-root MuiTypography-h6 title css-dh47xt-MuiTypography-root"
>
How to build on
<i>
Safe
</i>
?
</h6>
<a
class="MuiTypography-root MuiTypography-body2 MuiLink-root MuiLink-underlineAlways link css-p35e85-MuiTypography-root-MuiLink-root"
href="https://docs.safe.global/safe-core-aa-sdk/safe-apps"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
<span>
Learn more about Safe Apps SDK
</span>
</span>
</a>
<button
class="MuiButtonBase-root MuiFab-root MuiFab-extended MuiFab-sizeSmall MuiFab-secondary MuiFab-root MuiFab-extended MuiFab-sizeSmall MuiFab-secondary openButton css-6a6htw-MuiButtonBase-root-MuiFab-root"
tabindex="-1"
type="button"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="KeyboardDoubleArrowUpRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M6.7 18.29c.39.39 1.02.39 1.41 0L12 14.42l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 12.3a.9959.9959 0 0 0-1.41 0L6.7 16.88c-.39.39-.39 1.02 0 1.41z"
/>
<path
d="M6.7 11.7c.39.39 1.02.39 1.41 0L12 7.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 5.71a.9959.9959 0 0 0-1.41 0L6.7 10.29c-.39.39-.39 1.02 0 1.41z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</div>
<div
class="container MuiBox-root css-0"
>
<h3
class="MuiTypography-root MuiTypography-h3 title css-aklxrh-MuiTypography-root"
>
Explore the Safe Apps ecosystem
</h3>
<p
class="MuiTypography-root MuiTypography-body1 subtitle css-1pqjor9-MuiTypography-root"
>
Connect to your favourite web3 applications with your Safe Account, securely and efficiently.
</p>
</div>
<div
class="tabs MuiBox-root css-0"
>
<div
class="MuiTabs-root tabs css-tkn350-MuiTabs-root"
>
<div
class="MuiTabs-scrollableX MuiTabs-hideScrollbar css-agdkjh-MuiTabs-scrollbarSize"
style="width: 99px; height: 99px; position: absolute; top: -9999px; overflow: scroll;"
/>
<div
class="MuiTabs-scroller MuiTabs-hideScrollbar MuiTabs-scrollableX css-69z67c-MuiTabs-scroller"
style="margin-bottom: 0px;"
>
<div
class="MuiTabs-flexContainer css-heg063-MuiTabs-flexContainer"
role="tablist"
>
<a
aria-selected="false"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="-1"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-fvh28f-MuiTypography-root"
>
All apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
<a
aria-selected="false"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps/bookmarked?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="-1"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-fvh28f-MuiTypography-root"
>
Bookmarked apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
<a
aria-selected="true"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary Mui-selected tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps/custom?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="0"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-11hvqlg-MuiTypography-root"
>
My custom apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
</div>
<span
class="MuiTabs-indicator css-1n74ku9-MuiTabs-indicator"
style="left: 0px; width: 0px;"
/>
</div>
</div>
</div>
<main>
<div
class="MuiStack-root css-ar0lna-MuiStack-root"
>
<p
class="MuiTypography-root MuiTypography-body2 css-1hd2n80-MuiTypography-root"
>
ALL (
0
)
</p>
<div
class="MuiFormControl-root css-1nrlq1o-MuiFormControl-root"
>
<div
aria-label="safe apps view mode selector"
class="MuiFormGroup-root css-tp8o0d-MuiFormGroup-root"
role="radiogroup"
>
<span
class="MuiButtonBase-root MuiRadio-root MuiRadio-colorDefault PrivateSwitchBase-root MuiRadio-root MuiRadio-colorDefault Mui-checked MuiRadio-root MuiRadio-colorDefault css-1u1u1h-MuiButtonBase-root-MuiRadio-root"
>
<input
aria-label="Grid view mode"
checked=""
class="PrivateSwitchBase-input css-1m9pwf3"
name="safe-apps-view-mode"
type="radio"
value="grid-view"
/>
<mock-icon
fontsize="medium"
/>
</span>
<span
class="MuiButtonBase-root MuiRadio-root MuiRadio-colorDefault PrivateSwitchBase-root MuiRadio-root MuiRadio-colorDefault MuiRadio-root MuiRadio-colorDefault css-1u1u1h-MuiButtonBase-root-MuiRadio-root"
>
<input
aria-label="List view mode"
class="PrivateSwitchBase-input css-1m9pwf3"
name="safe-apps-view-mode"
type="radio"
value="list-view"
/>
<mock-icon
classname="listView"
fontsize="medium"
/>
</span>
</div>
</div>
</div>
<ul
class="safeAppsContainer safeAppsGridViewContainer"
>
<li>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 MuiCard-root css-dg4yf5-MuiPaper-root-MuiCard-root"
>
<div
class="MuiBox-root css-u9nuc8"
>
<mock-icon
alt="Add Custom Safe App card"
/>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall css-2hj4ux-MuiButtonBase-root-MuiButton-root"
tabindex="0"
type="button"
>
Add custom Safe App
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</div>
</div>
</li>
</ul>
</main>
</div>
<div
class="MuiDialog-root dialog MuiModal-root css-zw3mfo-MuiModal-root-MuiDialog-root"
role="presentation"
>
<div
aria-hidden="true"
class="MuiBackdrop-root MuiModal-backdrop css-lmjli-MuiBackdrop-root-MuiDialog-backdrop"
style="opacity: 1; webkit-transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
/>
<div
data-testid="sentinelStart"
tabindex="0"
/>
<div
class="MuiDialog-container MuiDialog-scrollBody css-iz3z40-MuiDialog-container"
role="presentation"
style="opacity: 1; webkit-transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
tabindex="-1"
>
<div
aria-labelledby=":r2k:"
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollBody MuiDialog-paperWidthSm MuiDialog-paperFullWidth css-11holrt-MuiPaper-root-MuiDialog-paper"
role="dialog"
>
<h2
class="MuiTypography-root MuiTypography-h6 MuiDialogTitle-root css-1h653qr-MuiTypography-root-MuiDialogTitle-root"
id=":r2k:"
>
Add custom Safe App
<span
style="flex: 1;"
/>
<span
class="MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-18ke8nf-MuiSkeleton-root"
style="width: 100%; height: 22px;"
/>
<button
aria-label="close"
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-cjooj8-MuiButtonBase-root-MuiIconButton-root"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-17ceore-MuiSvgIcon-root"
data-testid="CloseIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</h2>
<form>
<div
class="MuiDialogContent-root addCustomAppContainer css-law44l-MuiDialogContent-root"
>
<div
class="addCustomAppFields"
>
<div
class="MuiFormControl-root MuiTextField-root css-1u3bzj6-MuiFormControl-root-MuiTextField-root"
>
<label
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiFormLabel-filled Mui-required MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-18pzvfc-MuiFormLabel-root-MuiInputLabel-root"
data-shrink="true"
for=":r2l:"
id=":r2l:-label"
>
Safe App URL
<span
aria-hidden="true"
class="MuiFormLabel-asterisk MuiInputLabel-asterisk css-1odu3x2-MuiFormLabel-asterisk"
>
β
*
</span>
</label>
<div
class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl css-1sk2nkw-MuiInputBase-root-MuiOutlinedInput-root"
>
<input
aria-invalid="false"
autocomplete="off"
class="MuiInputBase-input MuiOutlinedInput-input css-12t5onw-MuiInputBase-input-MuiOutlinedInput-input"
id=":r2l:"
name="appUrl"
required=""
type="text"
value=""
/>
<fieldset
aria-hidden="true"
class="MuiOutlinedInput-notchedOutline css-p7vjcx-MuiOutlinedInput-notchedOutline"
>
<legend
class="css-14lo706"
>
<span>
Safe App URL
β
*
</span>
</legend>
</fieldset>
</div>
</div>
<div
class="MuiBox-root css-1yuhvjn"
>
<div
class="customAppContainer"
>
<iframe
height="48"
loading="lazy"
referrerpolicy="strict-origin"
sandbox="allow-scripts"
srcdoc="
<body style=\"margin: 0; overflow: hidden;\">
<img src=\"\" alt=\"Safe App logo\" width=\"48\" height=\"48\" />
<script>
document.querySelector('img').onerror = (e) => {
e.target.onerror = null
e.target.src = \"/images/apps/app-placeholder.svg\"
}
</script>
</body>
"
style="pointer-events: none; border: 0px;"
tabindex="-1"
title="Custom test Safe app"
width="48"
/>
<h2
class="MuiTypography-root MuiTypography-body1 css-azkxed-MuiTypography-root"
>
Custom test Safe app
</h2>
<p
class="MuiTypography-root MuiTypography-body2 css-1l5lzal-MuiTypography-root"
>
Custom Safe app description
</p>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeMedium customAppCheckIcon css-1anwf6-MuiSvgIcon-root"
data-testid="CheckIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
/>
</svg>
</div>
<label
aria-required="true"
class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-1kop2ac-MuiFormControlLabel-root"
>
<span
class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-dy157c-MuiButtonBase-root-MuiCheckbox-root"
>
<input
class="PrivateSwitchBase-input css-1m9pwf3"
data-indeterminate="false"
name="riskAcknowledgement"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-17ceore-MuiSvgIcon-root"
data-testid="CheckBoxOutlineBlankIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</span>
<span
class="MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1pqjor9-MuiTypography-root"
>
This Safe App is not part of BNB Safe and I agree to use it at my own risk.
</span>
</label>
</div>
</div>
<div
class="addCustomAppHelp"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium addCustomAppHelpIcon css-17ceore-MuiSvgIcon-root"
data-testid="InfoOutlinedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"
/>
</svg>
<p
class="MuiTypography-root MuiTypography-body1 css-t82eh9-MuiTypography-root"
>
Learn more about building
</p>
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways addCustomAppHelpLink css-181jh7p-MuiTypography-root-MuiLink-root"
href="https://docs.safe.global/safe-core-aa-sdk/safe-apps/get-started"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
Safe Apps
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
.
</div>
</div>
<div
class="MuiDialogActions-root css-1xk6pnx-MuiDialogActions-root"
>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium css-1hkfg6j-MuiButtonBase-root-MuiButton-root"
tabindex="0"
type="button"
>
Cancel
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium Mui-disabled MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium css-1lu37fw-MuiButtonBase-root-MuiButton-root"
disabled=""
tabindex="-1"
type="submit"
>
Add
</button>
</div>
</form>
</div>
</div>
<div
data-testid="sentinelEnd"
tabindex="0"
/>
</div>
</body>
399 | const appURLInput = screen.getByLabelText(/Safe App URL/)
400 | fireEvent.change(appURLInput, { target: { value: APP_URL } })
> 401 | const riskCheckbox = await screen.findByText(
| ^
402 | /This Safe App is not part of Safe{Wallet} and I agree to use it at my own risk\./,
403 | )
404 | await act(() => {
at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:187:27)
at node_modules/@testing-library/dom/dist/query-helpers.js:101:33
at Object.findByText (src/tests/pages/apps.test.tsx:401:41)
β FallbackHandler βΊ No Fallback Handler βΊ should render the Fallback Handler and warning tooltip when no Fallback Handler is set
expect(received).toBeInTheDocument()
received value must be an HTMLElement or an SVGElement.
Received has value: null
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 css-9d3nxz-MuiPaper-root"
>
<div
class="MuiGrid-root MuiGrid-container MuiGrid-spacing-xs-3 css-jtuf4s-MuiGrid-root"
>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-lg-4 css-1qm8set-MuiGrid-root"
>
<h4
class="MuiTypography-root MuiTypography-h4 css-fohhgb-MuiTypography-root"
>
Fallback handler
<span
aria-labelledby=":r7:"
class=""
data-mui-internal-clone-element="true"
>
<mock-icon
aria-hidden="true"
classname="MuiSvgIcon-root MuiSvgIcon-colorWarning MuiSvgIcon-fontSizeSmall css-k1ci8q-MuiSvgIcon-root"
data-testid="fallback-handler-warning"
focusable="false"
/>
</span>
</h4>
</div>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-true css-1vd824g-MuiGrid-root"
>
<div
class="MuiBox-root css-0"
>
<p
class="MuiTypography-root MuiTypography-body1 css-1pqjor9-MuiTypography-root"
>
The fallback handler adds fallback logic for funtionality that may not be present in the Safe Account contract. Learn more about the fallback handler
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="https://help.safe.global/en/articles/40838-what-is-a-fallback-handler-and-how-does-it-relate-to-safe"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
here
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
</p>
<p
class="MuiTypography-root MuiTypography-body1 css-1vorgb8-MuiTypography-root"
>
No fallback handler set
</p>
</div>
</div>
</div>
</div>
</div>
<div
class="MuiTooltip-popper MuiTooltip-popperInteractive css-ykn06b-MuiPopper-root-MuiTooltip-popper MuiPopper-root"
data-popper-escaped=""
data-popper-placement="top"
data-popper-reference-hidden=""
id=":r7:"
role="tooltip"
style="position: absolute; top: 0px; left: 0px; margin: 0px; bottom: 0px; transform: translate(0px, 0px);"
>
<div
class="MuiTooltip-tooltip MuiTooltip-tooltipPlacementTop css-9sguey-MuiTooltip-tooltip"
style="opacity: 1; transform: none; transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,transform 133ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
>
The
BNB Safe
may not work correctly as no fallback handler is currently set.
It can be set via the
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="/"
>
Transaction Builder
</a>
.
</div>
</div>
</body>
</html>
138 | new RegExp('The BNB Safe{Wallet} may not work correctly as no fallback handler is currently set.'),
139 | ),
> 140 | ).toBeInTheDocument()
| ^
141 | expect(fbHandler.queryByText('Transaction Builder')).toBeInTheDocument()
142 | })
143 | })
at __EXTERNAL_MATCHER_TRAP__ (node_modules/@jest/expect/node_modules/expect/build/index.js:325:30)
at Object.throwingMatcher [as toBeInTheDocument] (node_modules/@jest/expect/node_modules/expect/build/index.js:326:15)
at toBeInTheDocument (src/components/settings/FallbackHandler/__tests__/index.test.tsx:140:11)
at runWithExpensiveErrorDiagnosticsDisabled (node_modules/@testing-library/dom/dist/config.js:52:12)
at checkCallback (node_modules/@testing-library/dom/dist/wait-for.js:141:77)
at checkRealTimersCallback (node_modules/@testing-library/dom/dist/wait-for.js:133:16)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
β FallbackHandler βΊ No Fallback Handler βΊ should conditionally append the Transaction Builder link
expect(received).toBeInTheDocument()
received value must be an HTMLElement or an SVGElement.
Received has value: null
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 css-9d3nxz-MuiPaper-root"
>
<div
class="MuiGrid-root MuiGrid-container MuiGrid-spacing-xs-3 css-jtuf4s-MuiGrid-root"
>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-lg-4 css-1qm8set-MuiGrid-root"
>
<h4
class="MuiTypography-root MuiTypography-h4 css-fohhgb-MuiTypography-root"
>
Fallback handler
<span
aria-labelledby=":r8:"
class=""
data-mui-internal-clone-element="true"
>
<mock-icon
aria-hidden="true"
classname="MuiSvgIcon-root MuiSvgIcon-colorWarning MuiSvgIcon-fontSizeSmall css-k1ci8q-MuiSvgIcon-root"
data-testid="fallback-handler-warning"
focusable="false"
/>
</span>
</h4>
</div>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-true css-1vd824g-MuiGrid-root"
>
<div
class="MuiBox-root css-0"
>
<p
class="MuiTypography-root MuiTypography-body1 css-1pqjor9-MuiTypography-root"
>
The fallback handler adds fallback logic for funtionality that may not be present in the Safe Account contract. Learn more about the fallback handler
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="https://help.safe.global/en/articles/40838-what-is-a-fallback-handler-and-how-does-it-relate-to-safe"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
here
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
</p>
<p
class="MuiTypography-root MuiTypography-body1 css-1vorgb8-MuiTypography-root"
>
No fallback handler set
</p>
</div>
</div>
</div>
</div>
</div>
<div
class="MuiTooltip-popper MuiTooltip-popperInteractive css-ykn06b-MuiPopper-root-MuiTooltip-popper MuiPopper-root"
data-popper-escaped=""
data-popper-placement="top"
data-popper-reference-hidden=""
id=":r8:"
role="tooltip"
style="position: absolute; top: 0px; left: 0px; margin: 0px; bottom: 0px; transform: translate(0px, 0px);"
>
<div
class="MuiTooltip-tooltip MuiTooltip-tooltipPlacementTop css-9sguey-MuiTooltip-tooltip"
style="opacity: 1; transform: none; transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,transform 133ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
>
The
BNB Safe
may not work correctly as no fallback handler is currently set.
</div>
</div>
</body>
</html>
174 | new RegExp('The BNB Safe{Wallet} may not work correctly as no fallback handler is currently set.'),
175 | ),
> 176 | ).toBeInTheDocument()
| ^
177 | expect(fbHandler.queryByText('Transaction Builder')).not.toBeInTheDocument()
178 | })
179 | })
at __EXTERNAL_MATCHER_TRAP__ (node_modules/@jest/expect/node_modules/expect/build/index.js:325:30)
at Object.throwingMatcher [as toBeInTheDocument] (node_modules/@jest/expect/node_modules/expect/build/index.js:326:15)
at toBeInTheDocument (src/components/settings/FallbackHandler/__tests__/index.test.tsx:176:11)
at runWithExpensiveErrorDiagnosticsDisabled (node_modules/@testing-library/dom/dist/config.js:52:12)
at checkCallback (node_modules/@testing-library/dom/dist/wait-for.js:141:77)
at checkRealTimersCallback (node_modules/@testing-library/dom/dist/wait-for.js:133:16)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
β safeCoreSDK βΊ initSafeSDK βΊ Supported contracts βΊ should return an L1 SDK instance for mainnet
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
141 |
142 | expect(sdk).toBeInstanceOf(Safe)
> 143 | expect(sdk?.getContractManager().isL1SafeMasterCopy).toBe(true)
| ^
144 | })
145 |
146 | it('should return an L2 SDK instance for L2 chain', async () => {
at Object.toBe (src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:143:62)
β safeCoreSDK βΊ initSafeSDK βΊ Supported contracts βΊ should return an L1 SDK instance for legacy Safes, regardless of chain
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
179 |
180 | expect(sdk).toBeInstanceOf(Safe)
> 181 | expect(sdk?.getContractManager().isL1SafeMasterCopy).toBe(true)
| ^
182 | })
183 | })
184 |
at Object.toBe (src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:181:62)
β safeCoreSDK βΊ initSafeSDK βΊ Unsupported contracts βΊ should return an L1 SDK instance for L1 contracts not deployed on mainnet
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
219 |
220 | expect(sdk).toBeInstanceOf(Safe)
> 221 | expect(sdk?.getContractManager().isL1SafeMasterCopy).toBe(true)
| ^
222 | })
223 |
224 | it('should return undefined for unsupported mastercopies', async () => {
at Object.toBe (src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:221:62)
β safeCoreSDK βΊ initSafeSDK βΊ Unsupported contracts βΊ should return undefined for unsupported mastercopies
expect(received).toBeUndefined()
Received: {}
237 | })
238 |
> 239 | expect(sdk).toBeUndefined()
| ^
240 | })
241 | })
242 | })
at Object.toBeUndefined (src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:239:21)
β useChainId hook βΊ should return the default chainId if no query params
expect(received).toBe(expected) // Object.is equality
Expected: "5"
Received: "1"
75 | it('should return the default chainId if no query params', () => {
76 | const { result } = renderHook(() => useChainId())
> 77 | expect(result.current).toBe('5')
| ^
78 | })
79 |
80 | it('should return the chainId based on the chain query', () => {
at Object.toBe (src/hooks/__tests__/useChainId.test.ts:77:28)
β useChainId hook βΊ should return the last used chain id if no chain in the URL and the connect wallet chain id is not present in the chain configs
expect(received).toBe(expected) // Object.is equality
Expected: "5"
Received: "1"
129 |
130 | const { result } = renderHook(() => useChainId())
> 131 | expect(result.current).toBe('5')
| ^
132 | })
133 |
134 | it('should return the last used chain id if no wallet is connected and there is no chain in the URL', () => {
at Object.toBe (src/hooks/__tests__/useChainId.test.ts:131:28)
β Pairing utils βΊ isPairingSupported βΊ should return true if the wallet is enabled
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
30 | const disabledWallets = ['walletConnect']
31 | const result = isPairingSupported(disabledWallets)
> 32 | expect(result).toBe(true)
| ^
33 | })
34 |
35 | it('should return false if the wallet is disabled', () => {
at Object.toBe (src/services/pairing/__tests__/utils.test.ts:32:22)
β Pairing utils βΊ isPairingSupported βΊ should return false if the wallet is disabled
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
36 | const disabledWallets1: string[] = []
37 | const result1 = isPairingSupported(disabledWallets1)
> 38 | expect(result1).toBe(true)
| ^
39 |
40 | const disabledWallets2 = ['safeMobile']
41 | const result2 = isPairingSupported(disabledWallets2)
at Object.toBe (src/services/pairing/__tests__/utils.test.ts:38:23)
Annotations
Check failure on line 365 in src/tests/pages/apps.test.tsx
github-actions / jest-github-action
AppsPage > Custom Safe apps Page > Requires risk acknowledgment checkbox to add the app
Error: Unable to find an element with the text: /This Safe App is not part of Safe{Wallet} and I agree to use it at my own risk\./. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body
style="padding-right: 1024px; overflow: hidden;"
>
<div
aria-hidden="true"
>
<div
class="container"
tabindex="0"
>
<mock-icon />
<h6
class="MuiTypography-root MuiTypography-h6 title css-dh47xt-MuiTypography-root"
>
How to build on
<i>
Safe
</i>
?
</h6>
<a
class="MuiTypography-root MuiTypography-body2 MuiLink-root MuiLink-underlineAlways link css-p35e85-MuiTypography-root-MuiLink-root"
href="https://docs.safe.global/safe-core-aa-sdk/safe-apps"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
<span>
Learn more about Safe Apps SDK
</span>
</span>
</a>
<button
class="MuiButtonBase-root MuiFab-root MuiFab-extended MuiFab-sizeSmall MuiFab-secondary MuiFab-root MuiFab-extended MuiFab-sizeSmall MuiFab-secondary openButton css-6a6htw-MuiButtonBase-root-MuiFab-root"
tabindex="-1"
type="button"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="KeyboardDoubleArrowUpRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M6.7 18.29c.39.39 1.02.39 1.41 0L12 14.42l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 12.3a.9959.9959 0 0 0-1.41 0L6.7 16.88c-.39.39-.39 1.02 0 1.41z"
/>
<path
d="M6.7 11.7c.39.39 1.02.39 1.41 0L12 7.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 5.71a.9959.9959 0 0 0-1.41 0L6.7 10.29c-.39.39-.39 1.02 0 1.41z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</div>
<div
class="container MuiBox-root css-0"
>
<h3
class="MuiTypography-root MuiTypography-h3 title css-aklxrh-MuiTypography-root"
>
Explore the Safe Apps ecosystem
</h3>
<p
class="MuiTypography-root MuiTypography-body1 subtitle css-1pqjor9-MuiTypography-root"
>
Connect to your favourite web3 applications with your Safe Account, securely and efficiently.
</p>
</div>
<div
class="tabs MuiBox-root css-0"
>
<div
class="MuiTabs-root tabs css-tkn350-MuiTabs-root"
>
<div
class="MuiTabs-scrollableX MuiTabs-hideScrollbar css-agdkjh-MuiTabs-scrollbarSize"
style="width: 99px; height: 99px; position: absolute; top: -9999px; overflow: scroll;"
/>
<div
class="MuiTabs-scroller MuiTabs-hideScrollbar MuiTabs-scrollableX css-69z67c-MuiTabs-scroller"
style="margin-bottom: 0px;"
>
<div
class="MuiTabs-flexContainer css-heg063-MuiTabs-flexContainer"
role="tablist"
>
<a
aria-selected="false"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="-1"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-fvh28f-MuiTypography-root"
>
All apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
<a
aria-selected="false"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps/bookmarked?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="-1"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-fvh28f-MuiTypography-root"
>
Bookmarked apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
<a
aria-selected="true"
class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary Mui-selected tab css-1lj962s-MuiButtonBase-root-MuiTab-root"
href="/apps/custom?safe=matic%3A0x0000000000000000000000000000000000000000"
role="tab"
tabindex="0"
>
<p
class="MuiTypography-root MuiTypography-body2 label css-11hvqlg-MuiTypography-root"
>
My custom apps
</p>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</a>
</div>
<span
class="MuiTabs-indicator css-1n74ku9-MuiTabs-indicator"
style="left: 0px; width: 0px;"
/>
</div>
</div>
</div>
<main>
<div
class="MuiStack-root css-ar0lna-MuiStack-root"
>
<p
class="MuiTypography-root MuiTypography-body2 css-1hd2n80-MuiTypography-root"
>
ALL (
0
)
</p>
<div
class="MuiFormControl-root css-1nrlq1o-MuiFormControl-root"
>
<div
aria-label="safe apps view mode selector"
class="MuiFormGroup-root css-tp8o0d-MuiFormGroup-root"
role="radiogroup"
>
<span
class="MuiButtonBase-root MuiRadio-root MuiRadio-colorDefault PrivateSwitchBase-root MuiRadio-root MuiRadio-colorDefault Mui-checked MuiRadio-root MuiRadio-colorDefault css-1u1u1h-MuiButtonBase-root-MuiRadio-root"
>
<input
aria-label="Grid view mode"
checked=""
class="PrivateSwitchBase-input css-1m9pwf3"
name="safe-apps-view-mode"
type="radio"
value="grid-view"
/>
<mock-icon
fontsize="medium"
/>
</span>
<span
class="MuiButtonBase-root MuiRadio-root MuiRadio-colorDefault PrivateSwitchBase-root MuiRadio-root MuiRadio-colorDefault MuiRadio-root MuiRadio-colorDefault css-1u1u1h-MuiButtonBase-root-MuiRadio-root"
>
<input
aria-label="List view mode"
class="PrivateSwitchBase-input css-1m9pwf3"
name="safe-apps-view-mode"
type="radio"
value="list-view"
/>
<mock-icon
classname="listView"
fontsize="medium"
/>
</span>
</div>
</div>
</div>
<ul
class="safeAppsContainer safeAppsGridViewContainer"
>
<li>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 MuiCard-root css-dg4yf5-MuiPaper-root-MuiCard-root"
>
<div
class="MuiBox-root css-u9nuc8"
>
<mock-icon
alt="Add Custom Safe App card"
/>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall css-2hj4ux-MuiButtonBase-root-MuiButton-root"
tabindex="0"
type="button"
>
Add custom Safe App
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</div>
</div>
</li>
</ul>
</main>
</div>
<div
class="MuiDialog-root dialog MuiModal-root css-zw3mfo-MuiModal-root-MuiDialog-root"
role="presentation"
>
<div
aria-hidden="true"
class="MuiBackdrop-root MuiModal-backdrop css-lmjli-MuiBackdrop-root-MuiDialog-backdrop"
style="opacity: 1; webkit-transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
/>
<div
data-testid="sentinelStart"
tabindex="0"
/>
<div
class="MuiDialog-container MuiDialog-scrollBody css-iz3z40-MuiDialog-container"
role="presentation"
style="opacity: 1; webkit-transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
tabindex="-1"
>
<div
aria-labelledby=":r2k:"
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollBody MuiDialog-paperWidthSm MuiDialog-paperFullWidth css-11holrt-MuiPaper-root-MuiDialog-paper"
role="dialog"
>
<h2
class="MuiTypography-root MuiTypography-h6 MuiDialogTitle-root css-1h653qr-MuiTypography-root-MuiDialogTitle-root"
id=":r2k:"
>
Add custom Safe App
<span
style="flex: 1;"
/>
<span
class="MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-18ke8nf-MuiSkeleton-root"
style="width: 100%; height: 22px;"
/>
<button
aria-label="close"
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-cjooj8-MuiButtonBase-root-MuiIconButton-root"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-17ceore-MuiSvgIcon-root"
data-testid="CloseIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
</h2>
<form>
<div
class="MuiDialogContent-root addCustomAppContainer css-law44l-MuiDialogContent-root"
>
<div
class="addCustomAppFields"
>
<div
class="MuiFormControl-root MuiTextField-root css-1u3bzj6-MuiFormControl-root-MuiTextField-root"
>
<label
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiFormLabel-filled Mui-required MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-18pzvfc-MuiFormLabel-root-MuiInputLabel-root"
data-shrink="true"
for=":r2l:"
id=":r2l:-label"
>
Safe App URL
<span
aria-hidden="true"
class="MuiFormLabel-asterisk MuiInputLabel-asterisk css-1odu3x2-MuiFormLabel-asterisk"
>
β
*
</span>
</label>
<div
class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl css-1sk2nkw-MuiInputBase-root-MuiOutlinedInput-root"
>
<input
aria-invalid="false"
autocomplete="off"
class="MuiInputBase-input MuiOutlinedInput-input css-12t5onw-MuiInputBase-input-MuiOutlinedInput-input"
id=":r2l:"
name="appUrl"
required=""
type="text"
value=""
/>
<fieldset
aria-hidden="true"
class="MuiOutlinedInput-notchedOutline css-p7vjcx-MuiOutlinedInput-notchedOutline"
>
<legend
class="css-14lo706"
>
<span>
Safe App URL
β
*
</span>
</legend>
</fieldset>
</div>
</div>
<div
class="MuiBox-root css-1yuhvjn"
>
<div
class="customAppContainer"
>
<iframe
height="48"
loading="lazy"
referrerpolicy="strict-origin"
sandbox="allow-scripts"
srcdoc="
<body style=\"margin: 0; overflow: hidden;\">
<img src=\"\" alt=\"Safe App logo\" width=\"48\" height=\"48\" />
<script>
document.querySelector('img').onerror = (e) => {
e.target.onerror = null
e.target.src = \"/images/apps/app-placeholder.svg\"
}
</script>
</body>
"
style="pointer-events: none; border: 0px;"
tabindex="-1"
title="Custom test Safe app"
width="48"
/>
<h2
class="MuiTypography-root MuiTypography-body1 css-azkxed-MuiTypography-root"
>
Custom test Safe app
</h2>
<p
class="MuiTypography-root MuiTypography-body2 css-1l5lzal-MuiTypography-root"
>
Custom Safe app description
</p>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeMedium customAppCheckIcon css-1anwf6-MuiSvgIcon-root"
data-testid="CheckIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
/>
</svg>
</div>
<label
aria-required="true"
class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-1kop2ac-MuiFormControlLabel-root"
>
<span
class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-dy157c-MuiButtonBase-root-MuiCheckbox-root"
>
<input
class="PrivateSwitchBase-input css-1m9pwf3"
data-indeterminate="false"
name="riskAcknowledgement"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-17ceore-MuiSvgIcon-root"
data-testid="CheckBoxOutlineBlankIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
/>
</svg>
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</span>
<span
class="MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1pqjor9-MuiTypography-root"
>
This Safe App is not part of BNB Safe and I agree to use it at my own risk.
</span>
</label>
</div>
</div>
<div
class="addCustomAppHelp"
>
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium addCustomAppHelpIcon css-17ceore-MuiSvgIcon-root"
data-testid="InfoOutlinedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"
/>
</svg>
<p
class="MuiTypography-root MuiTypography-body1 css-t82eh9-MuiTypography-root"
>
Learn more about building
</p>
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways addCustomAppHelpLink css-181jh7p-MuiTypography-root-MuiLink-root"
href="https://docs.safe.global/safe-core-aa-sdk/safe-apps/get-started"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
Safe Apps
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
.
</div>
</div>
<div
class="MuiDialogActions-root css-1xk6pnx-MuiDialogActions-root"
>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium css-1hkfg6j-MuiButtonBase-root-MuiButton-root"
tabindex="0"
type="button"
>
Cancel
<span
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
/>
</button>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium Mui-disabled MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium css-1lu37fw-MuiButtonBase-root-MuiButton-root"
disabled=""
tabindex="-1"
type="submit"
>
Add
</button>
</div>
</form>
</div>
</div>
<div
data-testid="sentinelEnd"
tabindex="0"
/>
</div>
</body>
at waitForWrapper (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/wait-for.js:187:27)
at /home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/query-helpers.js:101:33
at Object.findByText (/home/runner/work/safe-wallet-web/safe-wallet-web/src/tests/pages/apps.test.tsx:401:41)
Check failure on line 107 in src/components/settings/FallbackHandler/__tests__/index.test.tsx
github-actions / jest-github-action
FallbackHandler > No Fallback Handler > should render the Fallback Handler and warning tooltip when no Fallback Handler is set
Error: expect(received).toBeInTheDocument()
received value must be an HTMLElement or an SVGElement.
Received has value: null
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 css-9d3nxz-MuiPaper-root"
>
<div
class="MuiGrid-root MuiGrid-container MuiGrid-spacing-xs-3 css-jtuf4s-MuiGrid-root"
>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-lg-4 css-1qm8set-MuiGrid-root"
>
<h4
class="MuiTypography-root MuiTypography-h4 css-fohhgb-MuiTypography-root"
>
Fallback handler
<span
aria-labelledby=":r7:"
class=""
data-mui-internal-clone-element="true"
>
<mock-icon
aria-hidden="true"
classname="MuiSvgIcon-root MuiSvgIcon-colorWarning MuiSvgIcon-fontSizeSmall css-k1ci8q-MuiSvgIcon-root"
data-testid="fallback-handler-warning"
focusable="false"
/>
</span>
</h4>
</div>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-true css-1vd824g-MuiGrid-root"
>
<div
class="MuiBox-root css-0"
>
<p
class="MuiTypography-root MuiTypography-body1 css-1pqjor9-MuiTypography-root"
>
The fallback handler adds fallback logic for funtionality that may not be present in the Safe Account contract. Learn more about the fallback handler
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="https://help.safe.global/en/articles/40838-what-is-a-fallback-handler-and-how-does-it-relate-to-safe"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
here
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
</p>
<p
class="MuiTypography-root MuiTypography-body1 css-1vorgb8-MuiTypography-root"
>
No fallback handler set
</p>
</div>
</div>
</div>
</div>
</div>
<div
class="MuiTooltip-popper MuiTooltip-popperInteractive css-ykn06b-MuiPopper-root-MuiTooltip-popper MuiPopper-root"
data-popper-escaped=""
data-popper-placement="top"
data-popper-reference-hidden=""
id=":r7:"
role="tooltip"
style="position: absolute; top: 0px; left: 0px; margin: 0px; bottom: 0px; transform: translate(0px, 0px);"
>
<div
class="MuiTooltip-tooltip MuiTooltip-tooltipPlacementTop css-9sguey-MuiTooltip-tooltip"
style="opacity: 1; transform: none; transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,transform 133ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
>
The
BNB Safe
may not work correctly as no fallback handler is currently set.
It can be set via the
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="/"
>
Transaction Builder
</a>
.
</div>
</div>
</body>
</html>
at __EXTERNAL_MATCHER_TRAP__ (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@jest/expect/node_modules/expect/build/index.js:325:30)
at Object.throwingMatcher [as toBeInTheDocument] (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@jest/expect/node_modules/expect/build/index.js:326:15)
at toBeInTheDocument (/home/runner/work/safe-wallet-web/safe-wallet-web/src/components/settings/FallbackHandler/__tests__/index.test.tsx:140:11)
at runWithExpensiveErrorDiagnosticsDisabled (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/config.js:52:12)
at checkCallback (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/wait-for.js:141:77)
at checkRealTimersCallback (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/wait-for.js:133:16)
at Timeout.task [as _onTimeout] (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7)
Check failure on line 145 in src/components/settings/FallbackHandler/__tests__/index.test.tsx
github-actions / jest-github-action
FallbackHandler > No Fallback Handler > should conditionally append the Transaction Builder link
Error: expect(received).toBeInTheDocument()
received value must be an HTMLElement or an SVGElement.
Received has value: null
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 css-9d3nxz-MuiPaper-root"
>
<div
class="MuiGrid-root MuiGrid-container MuiGrid-spacing-xs-3 css-jtuf4s-MuiGrid-root"
>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-lg-4 css-1qm8set-MuiGrid-root"
>
<h4
class="MuiTypography-root MuiTypography-h4 css-fohhgb-MuiTypography-root"
>
Fallback handler
<span
aria-labelledby=":r8:"
class=""
data-mui-internal-clone-element="true"
>
<mock-icon
aria-hidden="true"
classname="MuiSvgIcon-root MuiSvgIcon-colorWarning MuiSvgIcon-fontSizeSmall css-k1ci8q-MuiSvgIcon-root"
data-testid="fallback-handler-warning"
focusable="false"
/>
</span>
</h4>
</div>
<div
class="MuiGrid-root MuiGrid-item MuiGrid-grid-xs-true css-1vd824g-MuiGrid-root"
>
<div
class="MuiBox-root css-0"
>
<p
class="MuiTypography-root MuiTypography-body1 css-1pqjor9-MuiTypography-root"
>
The fallback handler adds fallback logic for funtionality that may not be present in the Safe Account contract. Learn more about the fallback handler
<a
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1sck05e-MuiTypography-root-MuiLink-root"
href="https://help.safe.global/en/articles/40838-what-is-a-fallback-handler-and-how-does-it-relate-to-safe"
rel="noreferrer noopener"
target="_blank"
>
<span
class="MuiBox-root css-14f7ucs"
>
here
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-11dtfly-MuiSvgIcon-root"
data-testid="OpenInNewRoundedIcon"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1zM14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1z"
/>
</svg>
</span>
</a>
</p>
<p
class="MuiTypography-root MuiTypography-body1 css-1vorgb8-MuiTypography-root"
>
No fallback handler set
</p>
</div>
</div>
</div>
</div>
</div>
<div
class="MuiTooltip-popper MuiTooltip-popperInteractive css-ykn06b-MuiPopper-root-MuiTooltip-popper MuiPopper-root"
data-popper-escaped=""
data-popper-placement="top"
data-popper-reference-hidden=""
id=":r8:"
role="tooltip"
style="position: absolute; top: 0px; left: 0px; margin: 0px; bottom: 0px; transform: translate(0px, 0px);"
>
<div
class="MuiTooltip-tooltip MuiTooltip-tooltipPlacementTop css-9sguey-MuiTooltip-tooltip"
style="opacity: 1; transform: none; transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,transform 133ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
>
The
BNB Safe
may not work correctly as no fallback handler is currently set.
</div>
</div>
</body>
</html>
at __EXTERNAL_MATCHER_TRAP__ (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@jest/expect/node_modules/expect/build/index.js:325:30)
at Object.throwingMatcher [as toBeInTheDocument] (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@jest/expect/node_modules/expect/build/index.js:326:15)
at toBeInTheDocument (/home/runner/work/safe-wallet-web/safe-wallet-web/src/components/settings/FallbackHandler/__tests__/index.test.tsx:176:11)
at runWithExpensiveErrorDiagnosticsDisabled (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/config.js:52:12)
at checkCallback (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/wait-for.js:141:77)
at checkRealTimersCallback (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/@testing-library/dom/dist/wait-for.js:133:16)
at Timeout.task [as _onTimeout] (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7)
Check failure on line 127 in src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts
github-actions / jest-github-action
safeCoreSDK > initSafeSDK > Supported contracts > should return an L1 SDK instance for mainnet
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:143:62)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:538:9)
at processTimers (node:internal/timers:512:7)
Check failure on line 165 in src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts
github-actions / jest-github-action
safeCoreSDK > initSafeSDK > Supported contracts > should return an L1 SDK instance for legacy Safes, regardless of chain
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:181:62)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:538:9)
at processTimers (node:internal/timers:512:7)
Check failure on line 205 in src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts
github-actions / jest-github-action
safeCoreSDK > initSafeSDK > Unsupported contracts > should return an L1 SDK instance for L1 contracts not deployed on mainnet
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:221:62)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:538:9)
at processTimers (node:internal/timers:512:7)
Check failure on line 224 in src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts
github-actions / jest-github-action
safeCoreSDK > initSafeSDK > Unsupported contracts > should return undefined for unsupported mastercopies
Error: expect(received).toBeUndefined()
Received: {}
at Object.toBeUndefined (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts:239:21)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:538:9)
at processTimers (node:internal/timers:512:7)
Check failure on line 75 in src/hooks/__tests__/useChainId.test.ts
github-actions / jest-github-action
useChainId hook > should return the default chainId if no query params
Error: expect(received).toBe(expected) // Object.is equality
Expected: "5"
Received: "1"
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/__tests__/useChainId.test.ts:77:28)
at Promise.then.completed (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at run (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:444:34)
Check failure on line 116 in src/hooks/__tests__/useChainId.test.ts
github-actions / jest-github-action
useChainId hook > should return the last used chain id if no chain in the URL and the connect wallet chain id is not present in the chain configs
Error: expect(received).toBe(expected) // Object.is equality
Expected: "5"
Received: "1"
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/__tests__/useChainId.test.ts:131:28)
at Promise.then.completed (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at run (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:444:34)
Check failure on line 29 in src/services/pairing/__tests__/utils.test.ts
github-actions / jest-github-action
Pairing utils > isPairingSupported > should return true if the wallet is enabled
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/services/pairing/__tests__/utils.test.ts:32:22)
at Promise.then.completed (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at run (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:444:34)
Check failure on line 35 in src/services/pairing/__tests__/utils.test.ts
github-actions / jest-github-action
Pairing utils > isPairingSupported > should return false if the wallet is disabled
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
at Object.toBe (/home/runner/work/safe-wallet-web/safe-wallet-web/src/services/pairing/__tests__/utils.test.ts:38:23)
at Promise.then.completed (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:121:9)
at run (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/runTest.js:444:34)