篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json Chai e Sinon Para checkar console.log相关的知识,希望对你有一定的参考价值。
import { expect, assert } from 'chai';
import sinon from 'sinon';
import { createDefaultDOM } from '../js-dom/components';
import PsChatClient from '../../src/PsChatClient';
describe('PsChatClient', () => {
let appId = 'avi';
let psChatClient;
global.document = createDefaultDOM(appId);
beforeEach(() => {
psChatClient = new PsChatClient();
});
describe('_getAppId()', () => {
it('#Deve retornar o id da aplicação inserida no atributo "data-chat-app" do elemento script', () => {
expect(psChatClient._getAppId()).to.equal(appId);
});
});
describe('_insertChatScript(type, src)', () => {
it('#Deve inserir um script no DOM com um id e um src passados por parâmetro', () => {
const chatScriptId = 'blip';
psChatClient._insertChatScript(chatScriptId, `${chatScriptId}.js`);
const chatScript = global.document.querySelector(`#${chatScriptId}`);
expect(chatScript).to.exist;
});
});
describe('_initializeChat(type, chatData)', () => {
let chatData = {};
beforeEach(() => {
sinon.spy(console, 'log');
});
afterEach(() => {
console.log.restore();
});
it('#Deve executar o inicializador com o tipo de chat GV', function() {
assert(!console.log.called);
psChatClient._initializeChat('gv', chatData);
assert(console.log.called);
assert(console.log.calledWith('#Deve executar o inicializador com o tipo de chat GV'));
});
it('#Deve executar o inicializador com o tipo de chat AVI', function() {
assert(!console.log.called);
psChatClient._initializeChat('avi', chatData);
assert(console.log.called);
assert(console.log.calledWith('#Deve executar o inicializador com o tipo de chat AVI'));
});
it('#Deve executar o inicializador com o tipo de chat BLIP', function() {
assert(!console.log.called);
psChatClient._initializeChat('blip', chatData);
assert(console.log.called);
assert(console.log.calledWith('#Deve executar o inicializador com o tipo de chat BLIP'));
});
});
});