diff --git a/app/assets/javascripts/lib/utils/poll.js b/app/assets/javascripts/lib/utils/poll.js index 66761e075ff..938cf9912a8 100644 --- a/app/assets/javascripts/lib/utils/poll.js +++ b/app/assets/javascripts/lib/utils/poll.js @@ -32,9 +32,8 @@ import httpStatusCodes from './http_status'; */ export default class Poll { constructor(options = {}) { - this.options = Object.assign({}, { - data: {}, - }, options); + this.options = options; + this.options.data = options.data || {}; this.intervalHeader = 'POLL-INTERVAL'; } diff --git a/spec/javascripts/lib/utils/poll_spec.js b/spec/javascripts/lib/utils/poll_spec.js index 3e009c9599a..05bc6bfd74b 100644 --- a/spec/javascripts/lib/utils/poll_spec.js +++ b/spec/javascripts/lib/utils/poll_spec.js @@ -109,12 +109,14 @@ describe('Poll', () => { new Poll({ resource: service, method: 'fetch', + data: { page: 1 }, successCallback: callbacks.success, errorCallback: callbacks.error, }).makeRequest(); setTimeout(() => { expect(service.fetch.calls.count()).toEqual(2); + expect(service.fetch).toHaveBeenCalledWith({ page: 1 }); expect(callbacks.success).toHaveBeenCalled(); expect(callbacks.error).not.toHaveBeenCalled(); done();