From 572f9782d5e8d6307784b61db0dfce48f5118445 Mon Sep 17 00:00:00 2001 From: winniehell Date: Sun, 5 Mar 2017 20:43:05 +0100 Subject: Remove .es6 from file extensions (!9241) --- spec/javascripts/activities_spec.js | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 spec/javascripts/activities_spec.js (limited to 'spec/javascripts/activities_spec.js') diff --git a/spec/javascripts/activities_spec.js b/spec/javascripts/activities_spec.js new file mode 100644 index 00000000000..e6a6fc36ca1 --- /dev/null +++ b/spec/javascripts/activities_spec.js @@ -0,0 +1,62 @@ +/* eslint-disable no-unused-expressions, no-prototype-builtins, no-new, no-shadow, max-len */ + +require('vendor/jquery.endless-scroll.js'); +require('~/pager'); +require('~/activities'); + +(() => { + window.gon || (window.gon = {}); + const fixtureTemplate = 'static/event_filter.html.raw'; + const filters = [ + { + id: 'all', + }, { + id: 'push', + name: 'push events', + }, { + id: 'merged', + name: 'merge events', + }, { + id: 'comments', + }, { + id: 'team', + }]; + + function getEventName(index) { + const filter = filters[index]; + return filter.hasOwnProperty('name') ? filter.name : filter.id; + } + + function getSelector(index) { + const filter = filters[index]; + return `#${filter.id}_event_filter`; + } + + describe('Activities', () => { + beforeEach(() => { + loadFixtures(fixtureTemplate); + new gl.Activities(); + }); + + for (let i = 0; i < filters.length; i += 1) { + ((i) => { + describe(`when selecting ${getEventName(i)}`, () => { + beforeEach(() => { + $(getSelector(i)).click(); + }); + + for (let x = 0; x < filters.length; x += 1) { + ((x) => { + const shouldHighlight = i === x; + const testName = shouldHighlight ? 'should highlight' : 'should not highlight'; + + it(`${testName} ${getEventName(x)}`, () => { + expect($(getSelector(x)).parent().hasClass('active')).toEqual(shouldHighlight); + }); + })(x); + } + }); + })(i); + } + }); +})(); -- cgit v1.2.1