From 514ca010b1644240dc7c475a222481a04389de6a Mon Sep 17 00:00:00 2001 From: "Collin Miller (Zardulist)" Date: Wed, 9 Nov 2016 17:03:20 -0600 Subject: [PATCH 1/2] allow clicktracking to fire on liveblog load new articles button --- elements/bulbs-liveblog/bulbs-liveblog.js | 4 ++- .../bulbs-liveblog/bulbs-liveblog.test.js | 14 ++++++--- elements/bulbs-poll/bulbs-poll.test.js | 29 ++++++++++++------- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/elements/bulbs-liveblog/bulbs-liveblog.js b/elements/bulbs-liveblog/bulbs-liveblog.js index 34ca704b..2cd451e5 100644 --- a/elements/bulbs-liveblog/bulbs-liveblog.js +++ b/elements/bulbs-liveblog/bulbs-liveblog.js @@ -256,7 +256,9 @@ class BulbsLiveblog extends BulbsHTMLElement { } removeNewEntriesButton () { - [].forEach.call(this.newEntriesButtons, (button) => button.remove()); + setImmediate(() => { + [].forEach.call(this.newEntriesButtons, (button) => button.remove()); + }); } handleBlogFetchError (error) { diff --git a/elements/bulbs-liveblog/bulbs-liveblog.test.js b/elements/bulbs-liveblog/bulbs-liveblog.test.js index 07e27eb9..9fe6f3c0 100644 --- a/elements/bulbs-liveblog/bulbs-liveblog.test.js +++ b/elements/bulbs-liveblog/bulbs-liveblog.test.js @@ -409,10 +409,13 @@ describe('', () => { setImmediate(() => done()); }); - it('removes the show new entries button', () => { + it('removes the show new entries button', (done) => { sandbox.spy(subject, 'removeNewEntriesButton'); subject.showNewEntries([entry1]); - expect(subject.removeNewEntriesButton).to.have.been.called; + setImmediate(() => { + expect(subject.removeNewEntriesButton).to.have.been.called; + done(); + }); }); it('places the entries in the entries container', () => { @@ -522,13 +525,16 @@ describe('', () => { }); describe('removeNewEntriesButton', () => { - it('removes the show new entries button', () => { + it('removes the show new entries button', (done) => { let button = document.createElement('button'); button.classList.add('liveblog-new-entries'); subject.entriesContainer[0].appendChild(button); expect(subject.querySelector('button.liveblog-new-entries')).not.to.be.null; subject.removeNewEntriesButton(); - expect(subject.querySelector('button.liveblog-new-entries')).to.be.null; + setImmediate(() => { + expect(subject.querySelector('button.liveblog-new-entries')).to.be.null; + done(); + }); }); }); }); diff --git a/elements/bulbs-poll/bulbs-poll.test.js b/elements/bulbs-poll/bulbs-poll.test.js index df02f681..7439d3c8 100644 --- a/elements/bulbs-poll/bulbs-poll.test.js +++ b/elements/bulbs-poll/bulbs-poll.test.js @@ -1,18 +1,27 @@ +import { mount } from 'enzyme'; +import React from 'react'; import BulbsPoll from './bulbs-poll'; describe(' ', function () { - let subject; - let pollEndpoint; + describe('initialDispatch', () => { + let subject; + let pollEndpoint; - beforeEach(() => { - pollEndpoint = 'http://example.tld/api/polls/1'; - subject = new BulbsPoll({ src: pollEndpoint }); - sinon.spy(subject.store.actions, 'setSrc'); - sinon.spy(subject.store.actions, 'fetchPollData'); - sinon.spy(subject.store.actions, 'getCachedVoteData'); - }); + beforeEach(() => { + pollEndpoint = 'http://example.tld/api/polls/1'; + subject = new BulbsPoll({ src: pollEndpoint }); + subject.store = { + actions: { + setSrc () {}, + fetchPollData () {}, + getCachedVoteData() {}, + }, + }; + sinon.spy(subject.store.actions, 'setSrc'); + sinon.spy(subject.store.actions, 'fetchPollData'); + sinon.spy(subject.store.actions, 'getCachedVoteData'); + }); - describe('initialDispatch', () => { it('invokes setSrc', function () { subject.initialDispatch(); expect(subject.store.actions.setSrc).to.have.been.calledWith(pollEndpoint); From 3b19a789114038715c2d6484c98b81a3cbb17f84 Mon Sep 17 00:00:00 2001 From: "Collin Miller (Zardulist)" Date: Thu, 10 Nov 2016 10:42:07 -0600 Subject: [PATCH 2/2] bulbs-poll test lint fix --- elements/bulbs-poll/bulbs-poll.test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/elements/bulbs-poll/bulbs-poll.test.js b/elements/bulbs-poll/bulbs-poll.test.js index 7439d3c8..80f37546 100644 --- a/elements/bulbs-poll/bulbs-poll.test.js +++ b/elements/bulbs-poll/bulbs-poll.test.js @@ -1,5 +1,3 @@ -import { mount } from 'enzyme'; -import React from 'react'; import BulbsPoll from './bulbs-poll'; describe(' ', function () { @@ -14,7 +12,7 @@ describe(' ', function () { actions: { setSrc () {}, fetchPollData () {}, - getCachedVoteData() {}, + getCachedVoteData () {}, }, }; sinon.spy(subject.store.actions, 'setSrc');