jasmine test running on jsFiddle

jsFiddle template to run a jasmine test inside jsFiddle. Adds jasmine external resources, and initializes jasmine's HtmlReporter on window load. For more infor check this article: http://opensas.wordpress.com/2013/06/23/sharing-you-javascript-ninja-secrets-run-your-jasmine-tests-on-jsfiddle/

by dcardoso

HTML

<link rel="stylesheet" href="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css">
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script>
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>
<title>Jasmine Spec Runner</title>

JavaScript

const sortResults = events => ({
  ...events,
  result: events.result.split('-').map(Number)
})

const totalGoals = (prev, curr) => prev + curr 

const findMoreGoals = (prev, curr) => 
  curr.result.reduce(totalGoals) > prev.result.reduce(totalGoals) ? curr : prev

const diffWin = result => Math.max(...result) - Math.min(...result)

const findBiggestWin = (prev, curr) => {
  return diffWin(curr.result) > diffWin(prev.result) ? curr : prev
}

const output = event => ({
  ...event,
  result: event.result.join('-')
})


function findEvents(events) {
	if (events.length === 0) return {
    moreGoals: undefined,
	  biggestWin: undefined
  }

  const moreGoals = output(
  events
    .map(sortResults)
    .reduce(findMoreGoals)
    )
  
  const biggestWin = output(
  events
    .map(sortResults)
    .reduce(findBiggestWin)
   )

  return {
    moreGoals,
    biggestWin,
  }
}


describe("Find events", function () {
  describe("with no events", () => {
    let events;

    beforeEach(() => {
      events = [];
    });

    it("should not return moreGoals", () => {
      const result = findEvents(events);
      expect(result.moreGoals).toEqual(undefined);
    });

    it("should not return biggestWin", () => {
      const result = findEvents(events);
      expect(result.biggestWin).toEqual(undefined);
    });
  });

  describe("with two events", () => {
    let events;

    beforeEach(() => {
      events = [
        { name: "A vs B", result: "1-0" },
        { name: "A vs C", result: "1-1" },
      ];
    });

    it("should return moreGoals", () => {
      const result = findEvents(events);
      expect(result.moreGoals).toEqual({ name: "A vs C", result: "1-1" });
    });

    it("should return biggestWin", () => {
      const result = findEvents(events);
      expect(result.biggestWin).toEqual({ name: "A vs B", result: "1-0" });
    });
  });

  describe("with multiple events", () => {
    let events;

    beforeEach(() => {
      events = [
        { name: "A vs B",...