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..80f37546 100644 --- a/elements/bulbs-poll/bulbs-poll.test.js +++ b/elements/bulbs-poll/bulbs-poll.test.js @@ -1,18 +1,25 @@ 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);