Files
Nicholas Carrigan (he/him) 536a689d34 feat(curriculum): balance sheet project (#44189)
* feat: initial infra

* feat: create steps

* chore: apply sem's review suggestions

Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>

* feat: write tests

* chore: optional?.chaining?.

* chore: gikf's suggestion

Co-authored-by: Krzysztof <60067306+gikf@users.noreply.github.com>

* chore: rename

* chore: *

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: apply shaun's review suggestions

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: manual review suggestions

* chore: ?????

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>
Co-authored-by: Krzysztof <60067306+gikf@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-12-03 16:20:34 -06:00

3.3 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
6193e5280857e72be1efc99d Step 14 0 step-14

--description--

Copy the entire contents of your first .section element and paste them into your second .section element.

--hints--

Your second .section element should have four p elements.

assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p')?.length === 4);

Your second .section element should have three p elements with the class set to row.

const ps = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p'));
assert(ps?.filter?.(p => p?.classList?.contains('row') && !p?.classList?.contains('total'))?.length === 3);

Your second .section element should have a p element with the class row and total.

assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row.total')?.length === 1);

Your .row elements should each have four span elements.

const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.length === 4));

Within each .row element, your first span element should have the class set to name.

const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.[0]?.classList?.contains('name')));

Within each .row element, your last span element should have the class set to current.

const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row'));
assert(rows?.every?.(row => row?.querySelectorAll('span')?.[3]?.classList?.contains('current')));

--seed--

--seed-contents--

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>AcmeWidgetCorp Balance Sheet</title>
    <link rel="stylesheet" type="text/css" href="./styles.css" />
  </head>
  <body>
    <div id="sheet">
      <div id="header">
        <h1>Balance Sheet</h1>
        <h2>AcmeWidgetCorp</h2>
        <p class="row">
          <span>2019</span>
          <span>2020</span>
          <span class="current">2021</span>
        </p>
      </div>
      <h2>Assets</h2>
      <div class="section">
        <p class="row">
          <span class="name"></span>
          <span></span>
          <span></span>
          <span class="current"></span>
        </p>
        <span class="notes"></span>
        <p class="row">
          <span class="name"></span>
          <span></span>
          <span></span>
          <span class="current"></span>
        </p>
        <span class="notes"></span>
        <p class="row">
          <span class="name"></span>
          <span></span>
          <span></span>
          <span class="current"></span>
        </p>
        <span class="notes"></span>
        <p class="row total">
          <span class="name"></span>
          <span></span>
          <span></span>
          <span class="current"></span>
        </p>
      </div>
      <h2>Liabilities</h2>
--fcc-editable-region--
      <div class="section">

      </div>
--fcc-editable-region--
    </div>
    <footer>Last Updated: December 2021</footer>
  </body>
</html>