|
|
|
@ -1,18 +1,16 @@ |
|
|
|
import SectorView from 'style_manager/view/SectorView'; |
|
|
|
import Sector from 'style_manager/model/Sector'; |
|
|
|
import SectorView from '../../../../src/style_manager/view/SectorView'; |
|
|
|
import Sector from '../../../../src/style_manager/model/Sector'; |
|
|
|
|
|
|
|
describe('SectorView', () => { |
|
|
|
var fixtures; |
|
|
|
var model; |
|
|
|
var view; |
|
|
|
let fixtures: HTMLElement; |
|
|
|
let model: Sector; |
|
|
|
let view: SectorView; |
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
model = new Sector(); |
|
|
|
view = new SectorView({ |
|
|
|
model, |
|
|
|
}); |
|
|
|
model = new Sector({ name: 'sector' }); |
|
|
|
view = new SectorView({ model, config: {} }); |
|
|
|
document.body.innerHTML = '<div id="fixtures"></div>'; |
|
|
|
fixtures = document.body.querySelector('#fixtures'); |
|
|
|
fixtures = document.body.querySelector('#fixtures') as HTMLElement; |
|
|
|
fixtures.appendChild(view.render().el); |
|
|
|
}); |
|
|
|
|
|
|
|
@ -21,28 +19,28 @@ describe('SectorView', () => { |
|
|
|
}); |
|
|
|
|
|
|
|
test('Rendered correctly', () => { |
|
|
|
var sector = view.el; |
|
|
|
const sector = view.el; |
|
|
|
expect(sector.querySelector('[data-sector-title]')).toBeTruthy(); |
|
|
|
var props = sector.querySelector('.properties'); |
|
|
|
const props = sector.querySelector('.properties'); |
|
|
|
expect(props).toBeTruthy(); |
|
|
|
expect(sector.classList.contains('open')).toEqual(true); |
|
|
|
}); |
|
|
|
|
|
|
|
test('No properties', () => { |
|
|
|
var props = view.el.querySelector('.properties'); |
|
|
|
const props = view.el.querySelector('.properties')!; |
|
|
|
expect(props.innerHTML).toEqual(''); |
|
|
|
}); |
|
|
|
|
|
|
|
test('Update on open', () => { |
|
|
|
var sector = view.el; |
|
|
|
var props = sector.querySelector('.properties'); |
|
|
|
const sector = view.el; |
|
|
|
const props = sector.querySelector<HTMLElement>('.properties')!; |
|
|
|
model.set('open', false); |
|
|
|
expect(sector.classList.contains('open')).toEqual(false); |
|
|
|
expect(props.style.display).toEqual('none'); |
|
|
|
}); |
|
|
|
|
|
|
|
test('Toggle on click', () => { |
|
|
|
var sector = view.el; |
|
|
|
const sector = view.el; |
|
|
|
view.$el.find('[data-sector-title]').click(); |
|
|
|
expect(sector.classList.contains('open')).toEqual(false); |
|
|
|
}); |
|
|
|
@ -54,25 +52,23 @@ describe('SectorView', () => { |
|
|
|
name: 'TestName', |
|
|
|
properties: [{ type: 'integer' }, { type: 'integer' }, { type: 'integer' }], |
|
|
|
}); |
|
|
|
view = new SectorView({ |
|
|
|
model, |
|
|
|
}); |
|
|
|
view = new SectorView({ model, config: {} }); |
|
|
|
document.body.innerHTML = '<div id="fixtures"></div>'; |
|
|
|
fixtures = document.body.querySelector('#fixtures'); |
|
|
|
fixtures = document.body.querySelector('#fixtures') as HTMLElement; |
|
|
|
fixtures.appendChild(view.render().el); |
|
|
|
}); |
|
|
|
|
|
|
|
test('Rendered correctly', () => { |
|
|
|
var sector = view.el; |
|
|
|
var props = sector.querySelector('.properties'); |
|
|
|
expect(sector.querySelector('[data-sector-title]').innerHTML).toContain('TestName'); |
|
|
|
const sector = view.el; |
|
|
|
const props = sector.querySelector('.properties') as HTMLElement; |
|
|
|
expect(sector.querySelector('[data-sector-title]')!.innerHTML).toContain('TestName'); |
|
|
|
expect(props).toBeTruthy(); |
|
|
|
expect(sector.classList.contains('open')).toEqual(false); |
|
|
|
expect(props.style.display).toEqual('none'); |
|
|
|
}); |
|
|
|
|
|
|
|
test('Has properties', () => { |
|
|
|
var props = view.el.querySelector('.properties'); |
|
|
|
const props = view.el.querySelector('.properties') as HTMLElement; |
|
|
|
expect(props.children.length).toEqual(3); |
|
|
|
}); |
|
|
|
}); |