diff --git a/assets/static/__mocks__/ajaxMock.js b/assets/static/__mocks__/ajaxMock.js new file mode 100644 index 000000000..c561cbae6 --- /dev/null +++ b/assets/static/__mocks__/ajaxMock.js @@ -0,0 +1,12 @@ +const mockXHR = require("mock-xhr"); + +function createServer(status, payload) { + var server = new mockXHR.server(); + server.handle = function (request) { + request.setResponseHeader("Content-Type", "application/json"); + request.receive(status, JSON.stringify(payload)); + }; + return server; +} + +exports.createServer = createServer; diff --git a/assets/static/__snapshots__/silence.test.js.snap b/assets/static/__snapshots__/silence.test.js.snap new file mode 100644 index 000000000..8c674ea2e --- /dev/null +++ b/assets/static/__snapshots__/silence.test.js.snap @@ -0,0 +1,280 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`failed sendSilencePOST() 1`] = ` +"
+ + request failed +
" +`; + +exports[`silence form 1`] = ` +"+ + abcdef +
" +`; diff --git a/assets/static/silence.js b/assets/static/silence.js index 73ccb8366..d4216758e 100644 --- a/assets/static/silence.js +++ b/assets/static/silence.js @@ -328,3 +328,4 @@ function setupSilenceForm() { } exports.setupSilenceForm = setupSilenceForm; +exports.sendSilencePOST = sendSilencePOST; diff --git a/assets/static/silence.test.js b/assets/static/silence.test.js index 2ce6d91dd..0150f02f8 100644 --- a/assets/static/silence.test.js +++ b/assets/static/silence.test.js @@ -1,5 +1,173 @@ -test("silence setupSilenceForm()", () => { - window.jQuery = require("jquery"); +const $ = window.jQuery = require("jquery"); +const moment = require("moment"); +const templatesMock = require("./__mocks__/templatesMock"); +const ajaxMock = require("./__mocks__/ajaxMock"); + +jest.useFakeTimers(); + +test("silence form", () => { + let body = templatesMock.loadTemplates(); + body.push( + "