Add a test for unsilence button

This commit is contained in:
Łukasz Mierzwa
2017-08-15 19:43:49 -07:00
parent 8a5653e930
commit ecf14e7633
2 changed files with 40 additions and 2 deletions

View File

@@ -0,0 +1,12 @@
const mockXHR = require("mock-xhr");
function ajaxSuccessMockServer() {
var server = new mockXHR.server();
server.handle = function (request) {
request.setResponseHeader("Content-Type", "application/json");
request.receive(200, JSON.stringify({"status":"success"}));
};
return server;
}
exports.ajaxSuccessMockServer = ajaxSuccessMockServer;

View File

@@ -1,5 +1,31 @@
test("silence setupSilenceForm()", () => {
window.jQuery = require("jquery");
const $ = window.jQuery = require("jquery");
const templatesMock = require("./__mocks__/templatesMock");
test("unsilence init()", () => {
var body = templatesMock.loadTemplates();
body.push(
"<button class='silence-delete'" +
" data-alertmanager-uri='http://localhost'" +
" data-silence-id='abcd'>" +
" <span class='fa fa-trash-o'></span>" +
"</button>"
);
document.body.innerHTML = body;
require("bootstrap/js/tooltip.js");
const unsilence = require("./unsilence");
const ajaxMock = require("./__mocks__/ajaxSuccessMock").ajaxSuccessMockServer();
ajaxMock.start();
unsilence.init();
// icon should be trash-o before clicking
expect($("button > span.fa").hasClass("fa-trash-o")).toBe(true);
$("button.silence-delete").click();
// and switch to green check mark in circle after
expect($("button > span.fa").hasClass("fa-trash-o")).toBe(false);
expect($("button > span.fa").hasClass("fa-check-circle")).toBe(true);
expect($("button > span.fa").hasClass("text-success")).toBe(true);
ajaxMock.stop();
});