Skip to content

Merge pull request #20 from bnb-chain/perf-pop #26

Merge pull request #20 from bnb-chain/perf-pop

Merge pull request #20 from bnb-chain/perf-pop #26

GitHub Actions / jest-github-action failed Jan 15, 2024 in 0s

Jest tests failed

Failed tests: 12/958. Failed suites: 12/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)

  ● 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)

  ● 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)

  ● useSafeNotifications › Invalid mastercopy › should show a notification when the mastercopy is invalid

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: {"groupKey": "invalid-mastercopy", "link": {"href": "https://github.com/5afe/safe-cli", "title": "Get CLI"}, "message": "This Safe Account was created with an unsupported base contract.
               The web interface might not work correctly.
               We recommend using the command line interface instead.", "variant": "warning"}

    Number of calls: 0

      143 |       // check that the notification was shown
      144 |       expect(result.current).toBeUndefined()
    > 145 |       expect(showNotification).toHaveBeenCalledWith({
          |                                ^
      146 |         variant: 'warning',
      147 |         message: `This Safe Account was created with an unsupported base contract.
      148 |            The web interface might not work correctly.

      at Object.toHaveBeenCalledWith (src/hooks/__tests__/useSafeNotifications.test.ts:145:32)

  ● 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

See this annotation in the file changed.

@github-actions 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 127 in src/hooks/coreSDK/__tests__/safeCoreSDK.test.ts

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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 107 in src/components/settings/FallbackHandler/__tests__/index.test.tsx

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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/__tests__/useSafeNotifications.test.ts

See this annotation in the file changed.

@github-actions github-actions / jest-github-action

useSafeNotifications > Invalid mastercopy > should show a notification when the mastercopy is invalid

Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

Expected: {"groupKey": "invalid-mastercopy", "link": {"href": "https://github.com/5afe/safe-cli", "title": "Get CLI"}, "message": "This Safe Account was created with an unsupported base contract.
           The web interface might not work correctly.
           We recommend using the command line interface instead.", "variant": "warning"}

Number of calls: 0
    at Object.toHaveBeenCalledWith (/home/runner/work/safe-wallet-web/safe-wallet-web/src/hooks/__tests__/useSafeNotifications.test.ts:145:32)
    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 processTicksAndRejections (node:internal/process/task_queues:95:5)
    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)
    at Object.worker (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/testWorker.js:106:12)

Check failure on line 75 in src/hooks/__tests__/useChainId.test.ts

See this annotation in the file changed.

@github-actions 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 processTicksAndRejections (node:internal/process/task_queues:95:5)
    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)
    at Object.worker (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/testWorker.js:106:12)

Check failure on line 116 in src/hooks/__tests__/useChainId.test.ts

See this annotation in the file changed.

@github-actions 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 processTicksAndRejections (node:internal/process/task_queues:95:5)
    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)
    at Object.worker (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/testWorker.js:106:12)

Check failure on line 29 in src/services/pairing/__tests__/utils.test.ts

See this annotation in the file changed.

@github-actions 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 processTicksAndRejections (node:internal/process/task_queues:95:5)
    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)
    at Object.worker (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/testWorker.js:106:12)

Check failure on line 35 in src/services/pairing/__tests__/utils.test.ts

See this annotation in the file changed.

@github-actions 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 processTicksAndRejections (node:internal/process/task_queues:95:5)
    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)
    at Object.worker (/home/runner/work/safe-wallet-web/safe-wallet-web/node_modules/jest-runner/build/testWorker.js:106:12)