JSFiddle - React, Tailwind, and code Playground

by Fagner Brack

HTML

<script src="https://code.jquery.com/qunit/qunit-2.6.2.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.6.2.css">
<div id="qunit"></div>

JavaScript

function strictEqual({ expected, actual }, assert) {
  assert.strictEqual(actual, expected);
}

const interestToPayForCents = (loanAmountInCents) => {
  const centsForDollar = (dollarAmount) => {
    return dollarAmount * 100;
  };

  if (loanAmountInCents <= centsForDollar(2000)) {
    return 0;
  }
  
  /* if (loanAmountInCents <= loanAmountInCents - centsForDollar(2001)) {
    const endOfFirstCheckpoint = 2000;
    const resultForOverflownCents = {};
  
    for (let i = 0; i <= 5001 - 2001= 3000; i += 1) {
      resultForOverflownCents[i] = 9 * i;
    }
  
    for (let overflownAmount in resultForOverflownCents) {
      if (loanAmountInCents === centsForDollar(endOfFirstCheckpoint + Number(overflownAmount))) {
        return resultForOverflownCents[overflownAmount];
      }
    }
  } */
  
  if (loanAmountInCents <= Infinity) {
    return ((loanAmountInCents / 100) - 2000) * 9;
  }
};

QUnit.module('No Interest', () => {
QUnit.test("$0 Loan Amount", function (assert) {
    const interestToPay = interestToPayForCents(0 /*loanAmount*/);
    strictEqual({ expected: 0, actual: interestToPay }, assert);
  });

  QUnit.test("$1 Loan Amount", function (assert) {
    const interestToPay = interestToPayForCents(100 /*loanAmount*/);
    strictEqual({ expected: 0, actual: interestToPay }, assert);
  });

  QUnit.test("$2 Loan Amount", function (assert) {
    const interestToPay = interestToPayForCents(200 /*loanAmount*/);
    strictEqual({ expected: 0, actual: interestToPay }, assert);
  });
});

const centsForDollar = (dollarAmount) => {
  return dollarAmount * 100;
};

QUnit.test("$2001 Loan Amount", function (assert) {
  const interestToPay = interestToPayForCents(centsForDollar(2001) /*loanAmount*/);
  strictEqual({ expected: 9, actual: interestToPay }, assert);
});

QUnit.test("$2002 Loan Amount", function (assert) {
  const interestToPay = interestToPayForCents(centsForDollar(2002) /*loanAmount*/);
  strictEqual({ expected: 9 * 2, actual: interestToPay },...