Page MenuHomePhabricator

[Cashtab] Improve OnBoarding component
ClosedPublic

Authored by bytesofman on Sat, Apr 20, 21:23.

Details

Reviewers
emack
Group Reviewers
Restricted Project
Commits
rABC71f8dee097e9: [Cashtab] Improve OnBoarding component
Summary

Refactor Onboarding to match preferred "index.js" and "styles.js" in ComponentName directory name. Change component so that importing a wallet opens a modal, the same UX that is currently on the Wallets screen. Add integration tests to confirm expected behavior.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Failed tests logs:

====== CashTab Unit Tests: <App /> A new user can import a mnemonic ======
TestingLibraryElementError: Unable to find an accessible element with the role "button" and name "Import"

Here are the accessible roles:

  button:

  Name "X":
  <button
    class="sc-kafWEX eZrFWm"
  />

  Name "OK":
  <button
    class="sc-hEsumM sc-ktHwxA kCXxpS"
    disabled=""
  />

  Name "Cancel":
  <button
    class="sc-hEsumM sc-cIShpX jCLzmg"
  />

  Name "New Wallet":
  <button
    class="sc-bXGyLb sc-eLExRp cOkytB"
  />

  Name "Import Wallet":
  <button
    class="sc-bXGyLb sc-krvtoX hNTXGz"
  />

  --------------------------------------------------
  textbox:

  Name "":
  <input
    class="sc-bYSBpT sc-elJkPf egcYGm"
    name="mnemonic"
    placeholder="mnemonic (seed phrase)"
    value=""
  />

  --------------------------------------------------
  heading:

  Name "Welcome to Cashtab!":
  <h2 />

  --------------------------------------------------
  link:

  Name "open source,":
  <a
    class="sc-cugefK iNuIGu"
    href="https://github.com/bitcoin-abc/bitcoin-abc"
    rel="noreferrer"
    target="_blank"
  />

  --------------------------------------------------

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-iIHSe eltjIz"
    >
      <div
        class="Toastify"
      />
      <div
        class="sc-gldTML dVoZGX"
      >
        <div
          class="sc-cJOK fBMxHQ"
        >
          <div
            class="sc-bbmXgH fmGsMc"
            height="198"
            width="320"
          >
            <button
              class="sc-kafWEX eZrFWm"
            >
              X
            </button>
            <div
              class="sc-jnlKLf hkWeLB"
              height="198"
            >
              <div
                class="sc-gGBfsJ eXxSDa"
              >
                Import wallet
              </div>
              <div
                class="sc-btzYZH kSktdT"
              >
                <div
                  class="sc-lhVmIH fuhlTY"
                >
                  <input
                    class="sc-bYSBpT sc-elJkPf egcYGm"
                    name="mnemonic"
                    placeholder="mnemonic (seed phrase)"
                    value=""
                  />
                </div>
                <div
                  class="sc-kPVwWT hoYKFq"
                />
              </div>
            </div>
            <div
              class="sc-tilXH dcVxTZ"
            >
              <button
                class="sc-hEsumM sc-ktHwxA kCXxpS"
                disabled=""
              >
                OK
              </button>
              <button
                class="sc-hEsumM sc-cIShpX jCLzmg"
              >
                Cancel
              </button>
            </div>
          </div>
          <div
            class="sc-feJyhm fVwfUM"
          />
          <div
            class="sc-cHSUfg hOGfcT"
          >
            <h2>
              Welcome to Cashtab!
            </h2>
            <p
              class="sc-cTjmhe iXYHSa"
            >
              Cashtab is an
               
              <a
                class="sc-cugefK iNuIGu"
                href="https://github.com/bitcoin-abc/bitcoin-abc"
                rel="noreferrer"
                target="_blank"
              >
                open source,
              </a>
               
              non-custodial web wallet for 
              eCash
              .
            </p>
            <button
              class="sc-bXGyLb sc-eLExRp cOkytB"
            >
              New Wallet
            </button>
            <button
              class="sc-bXGyLb sc-krvtoX hNTXGz"
            >
              Import Wallet
            </button>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByRole (/work/cashtab/src/components/App/__tests__/App.test.js:666:37)

Each failure log is accessible here:
CashTab Unit Tests: <App /> A new user can import a mnemonic

Failed tests logs:

====== CashTab Unit Tests: <App /> A new user can import a mnemonic ======
TestingLibraryElementError: Unable to find an accessible element with the role "button" and name "Import"

Here are the accessible roles:

  button:

  Name "X":
  <button
    class="sc-kafWEX eZrFWm"
  />

  Name "OK":
  <button
    class="sc-hEsumM sc-ktHwxA kCXxpS"
    disabled=""
  />

  Name "Cancel":
  <button
    class="sc-hEsumM sc-cIShpX jCLzmg"
  />

  Name "New Wallet":
  <button
    class="sc-bXGyLb sc-eLExRp cOkytB"
  />

  Name "Import Wallet":
  <button
    class="sc-bXGyLb sc-krvtoX hNTXGz"
  />

  --------------------------------------------------
  textbox:

  Name "":
  <input
    class="sc-bYSBpT sc-elJkPf egcYGm"
    name="mnemonic"
    placeholder="mnemonic (seed phrase)"
    value=""
  />

  --------------------------------------------------
  heading:

  Name "Welcome to Cashtab!":
  <h2 />

  --------------------------------------------------
  link:

  Name "open source,":
  <a
    class="sc-cugefK iNuIGu"
    href="https://github.com/bitcoin-abc/bitcoin-abc"
    rel="noreferrer"
    target="_blank"
  />

  --------------------------------------------------

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-iIHSe eltjIz"
    >
      <div
        class="Toastify"
      />
      <div
        class="sc-gldTML dVoZGX"
      >
        <div
          class="sc-cJOK fBMxHQ"
        >
          <div
            class="sc-bbmXgH fmGsMc"
            height="198"
            width="320"
          >
            <button
              class="sc-kafWEX eZrFWm"
            >
              X
            </button>
            <div
              class="sc-jnlKLf hkWeLB"
              height="198"
            >
              <div
                class="sc-gGBfsJ eXxSDa"
              >
                Import wallet
              </div>
              <div
                class="sc-btzYZH kSktdT"
              >
                <div
                  class="sc-lhVmIH fuhlTY"
                >
                  <input
                    class="sc-bYSBpT sc-elJkPf egcYGm"
                    name="mnemonic"
                    placeholder="mnemonic (seed phrase)"
                    value=""
                  />
                </div>
                <div
                  class="sc-kPVwWT hoYKFq"
                />
              </div>
            </div>
            <div
              class="sc-tilXH dcVxTZ"
            >
              <button
                class="sc-hEsumM sc-ktHwxA kCXxpS"
                disabled=""
              >
                OK
              </button>
              <button
                class="sc-hEsumM sc-cIShpX jCLzmg"
              >
                Cancel
              </button>
            </div>
          </div>
          <div
            class="sc-feJyhm fVwfUM"
          />
          <div
            class="sc-cHSUfg hOGfcT"
          >
            <h2>
              Welcome to Cashtab!
            </h2>
            <p
              class="sc-cTjmhe iXYHSa"
            >
              Cashtab is an
               
              <a
                class="sc-cugefK iNuIGu"
                href="https://github.com/bitcoin-abc/bitcoin-abc"
                rel="noreferrer"
                target="_blank"
              >
                open source,
              </a>
               
              non-custodial web wallet for 
              eCash
              .
            </p>
            <button
              class="sc-bXGyLb sc-eLExRp cOkytB"
            >
              New Wallet
            </button>
            <button
              class="sc-bXGyLb sc-krvtoX hNTXGz"
            >
              Import Wallet
            </button>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByRole (/work/cashtab/src/components/App/__tests__/App.test.js:666:37)

Each failure log is accessible here:
CashTab Unit Tests: <App /> A new user can import a mnemonic

update legacy test to use new modal

This revision is now accepted and ready to land.Sun, Apr 21, 12:48
This revision was automatically updated to reflect the committed changes.