Template for Testing with Jasmine

Drop in your code, drop in your Jasmine specs, and away you go!

by Zatcepin

HTML

<script src="http://searls.github.com/jasmine-all/jasmine-all-min.js"></script>

CSS

body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; }

#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; }
#HTMLReporter a { text-decoration: none; }
#HTMLReporter a:hover { text-decoration: underline; }
#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; }
#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; }
#HTMLReporter #jasmine_content { position: fixed; right: 100%; }
#HTMLReporter .version { color: #aaaaaa; }
#HTMLReporter .banner { margin-top: 14px; }
#HTMLReporter .duration { color: #aaaaaa; float: right; }
#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; }
#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; }
#HTMLReporter .symbolSummary li.passed { font-size: 14px; }
#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; }
#HTMLReporter .symbolSummary li.failed { line-height: 9px; }
#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; }
#HTMLReporter .symbolSummary li.skipped { font-size: 14px; }
#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; }
#HTMLReporter .symbolSummary li.pending { line-height: 11px; }
#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; }
#HTMLReporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; }
#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }
#HTMLReporter .runningAlert { background-color: #666666; }
#HTMLReporter .skippedAlert...

JavaScript

//--- CODE
class ETL {
  transform(oldScores) {
    return ''
  }
}


//--- SPECS
describe('Transform', function () {
  var etl = new ETL();

  it('transforms one value', function () {
    var old = { 1: ['A'] };
    var expected = { a: 1 };

    expect(etl.transform(old)).toEqual(expected);
  });

  xit('transforms more values', function () {
    var old = { 1: ['A', 'E', 'I', 'O', 'U'] };
    var expected = { a: 1, e: 1, i: 1, o: 1, u: 1 };

    expect(etl.transform(old)).toEqual(expected);
  });

  xit('transforms more keys', function () {
    var old = { 1: ['A', 'E'], 2: ['D', 'G'] };
    var expected = { a: 1, e: 1, d: 2, g: 2 };

    expect(etl.transform(old)).toEqual(expected);
  });

  xit('transforms a full dataset', function () {
    var old = {
      1: [ 'A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T' ],
      2: [ 'D', 'G' ],
      3: [ 'B', 'C', 'M', 'P' ],
      4: [ 'F', 'H', 'V', 'W', 'Y' ],
      5: [ 'K' ],
      8: [ 'J', 'X' ],
      10: [ 'Q', 'Z' ]
    };
    var expected = {
      a: 1, b: 3,  c: 3, d: 2, e: 1,
      f: 4, g: 2,  h: 4, i: 1, j: 8,
      k: 5, l: 1,  m: 3, n: 1, o: 1,
      p: 3, q: 10, r: 1, s: 1, t: 1,
      u: 1, v: 4,  w: 4, x: 8, y: 4,
      z: 10
    };

    expect(etl.transform(old)).toEqual(expected);
  });
});