|
|
|
@ -7,19 +7,13 @@ module.exports = { |
|
|
|
|
|
|
|
describe('ComponentView', () => { |
|
|
|
|
|
|
|
var $fixtures; |
|
|
|
var $fixture; |
|
|
|
var fixtures; |
|
|
|
var model; |
|
|
|
var view; |
|
|
|
var hClass = 'hc-state'; |
|
|
|
var dcomp; |
|
|
|
var compOpts; |
|
|
|
|
|
|
|
before(() => { |
|
|
|
$fixtures = $("#fixtures"); |
|
|
|
$fixture = $('<div class="components-fixture"></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
dcomp = new DomComponents(); |
|
|
|
compOpts = { |
|
|
|
@ -29,36 +23,33 @@ module.exports = { |
|
|
|
view = new ComponentView({ |
|
|
|
model |
|
|
|
}); |
|
|
|
$fixture.empty().appendTo($fixtures); |
|
|
|
$fixture.html(view.render().el); |
|
|
|
document.body.innerHTML = '<div id="fixtures"></div>'; |
|
|
|
fixtures = document.body.querySelector('#fixtures'); |
|
|
|
fixtures.appendChild(view.render().el); |
|
|
|
}); |
|
|
|
|
|
|
|
afterEach(() => { |
|
|
|
view.remove(); |
|
|
|
}); |
|
|
|
|
|
|
|
after(() => { |
|
|
|
$fixture.remove(); |
|
|
|
}); |
|
|
|
|
|
|
|
it('Component empty', () => { |
|
|
|
expect($fixture.html()).toEqual('<div data-highlightable="1"></div>'); |
|
|
|
expect(fixtures.innerHTML).toEqual('<div data-highlightable="1"></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('Add helper class on update of state', () => { |
|
|
|
model.set('state', 'test'); |
|
|
|
expect($fixture.html()).toEqual('<div data-highlightable="1" class="' + hClass + '"></div>'); |
|
|
|
expect(fixtures.innerHTML).toEqual('<div data-highlightable="1" class="' + hClass + '"></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('Clean form helper state', () => { |
|
|
|
model.set('state', 'test'); |
|
|
|
model.set('state', ''); |
|
|
|
expect($fixture.html()).toEqual('<div data-highlightable="1" class=""></div>'); |
|
|
|
expect(fixtures.innerHTML).toEqual('<div data-highlightable="1" class=""></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('Add helper class on status update', () => { |
|
|
|
model.set('status', 'selected'); |
|
|
|
expect($fixture.html()).toEqual('<div data-highlightable="1" class="selected"></div>'); |
|
|
|
expect(fixtures.innerHTML).toEqual('<div data-highlightable="1" class="selected"></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
it('Get string of classes', () => { |
|
|
|
@ -117,6 +108,8 @@ module.exports = { |
|
|
|
it('Init with different tag', () => { |
|
|
|
model = new Component({ tagName: 'span' }); |
|
|
|
view = new ComponentView({ model }); |
|
|
|
fixtures.innerHTML = ''; |
|
|
|
fixtures.appendChild(view.render().el); |
|
|
|
expect(view.render().el.tagName).toEqual('SPAN'); |
|
|
|
}); |
|
|
|
|
|
|
|
@ -131,7 +124,9 @@ module.exports = { |
|
|
|
model, |
|
|
|
componentTypes: dcomp.componentTypes, |
|
|
|
}); |
|
|
|
expect(view.render().$el.html()).toEqual('<span data-highlightable="1"></span><div title="test" data-highlightable="1"></div>'); |
|
|
|
fixtures.innerHTML = ''; |
|
|
|
fixtures.appendChild(view.render().el); |
|
|
|
expect(view.$el.html()).toEqual('<span data-highlightable="1"></span><div title="test" data-highlightable="1"></div>'); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|