Browse Source

Adjust tests after the class tags change

pull/2062/head
Artur Arseniev 7 years ago
parent
commit
16422c4f71
  1. 6
      src/selector_manager/view/ClassTagView.js
  2. 69
      test/specs/selector_manager/e2e/ClassManager.js
  3. 12
      test/specs/selector_manager/view/ClassTagView.js
  4. 7
      test/specs/selector_manager/view/ClassTagsView.js

6
src/selector_manager/view/ClassTagView.js

@ -94,12 +94,10 @@ module.exports = require('backbone').View.extend({
* @param {Object} e
* @private
*/
removeTag(e) {
removeTag() {
const { em, model } = this;
const sel = em && em.getSelected();
// Prevent weird erros on remove
if (!model.get('protected'))
sel && setTimeout(() => sel.getSelectors().remove(model));
if (!model.get('protected') && sel) sel.getSelectors().remove(model);
},
/**

69
test/specs/selector_manager/e2e/ClassManager.js

@ -49,18 +49,21 @@ module.exports = {
tagEl = instClassTagViewer(gjs, fixtures);
});
test('Assign correctly new class to component', () => {
test('Assign correctly new class to component', done => {
var model = components.add({});
expect(model.get('classes').length).toEqual(0);
gjs.select(model);
tagEl.addNewTag('test');
expect(model.get('classes').length).toEqual(1);
expect(
model
.get('classes')
.at(0)
.get('name')
).toEqual('test');
setTimeout(() => {
tagEl.addNewTag('test');
expect(model.get('classes').length).toEqual(1);
expect(
model
.get('classes')
.at(0)
.get('name')
).toEqual('test');
done();
});
});
test('Classes from components are correctly imported inside main container', () => {
@ -81,20 +84,23 @@ module.exports = {
expect(clModel).toEqual(clModel2);
});
test('Can assign only one time the same class on selected component and the class viewer', () => {
test('Can assign only one time the same class on selected component and the class viewer', done => {
var model = components.add({});
gjs.editor.setSelected(model);
tagEl.addNewTag('test');
tagEl.addNewTag('test');
expect(model.getSelectors().length).toEqual(1);
expect(
model
.getSelectors()
.at(0)
.get('name')
).toEqual('test');
expect(tagEl.collection.length).toEqual(1);
expect(tagEl.collection.at(0).get('name')).toEqual('test');
gjs.select(model);
setTimeout(() => {
tagEl.addNewTag('test');
tagEl.addNewTag('test');
expect(model.getSelectors().length).toEqual(1);
expect(
model
.getSelectors()
.at(0)
.get('name')
).toEqual('test');
expect(tagEl.collection.length).toEqual(1);
expect(tagEl.collection.at(0).get('name')).toEqual('test');
done();
});
});
test('Removing from container removes also from selected component', () => {
@ -108,16 +114,19 @@ module.exports = {
setTimeout(() => expect(model.get('classes').length).toEqual(0));
});
test('Trigger correctly event on target with new class add', () => {
test('Trigger correctly event on target with new class add', done => {
var spy = sinon.spy();
var model = components.add({});
gjs.editor.setSelected(model);
tagEl.addNewTag('test');
gjs.editor.on('component:update:classes', spy);
tagEl.addNewTag('test');
expect(spy.called).toEqual(false);
tagEl.addNewTag('test2');
expect(spy.called).toEqual(true);
gjs.select(model);
setTimeout(() => {
tagEl.addNewTag('test');
gjs.editor.on('component:update:classes', spy);
tagEl.addNewTag('test');
expect(spy.called).toEqual(false);
tagEl.addNewTag('test2');
expect(spy.called).toEqual(true);
done();
});
});
});
});

12
test/specs/selector_manager/view/ClassTagView.js

@ -9,18 +9,18 @@ module.exports = {
var fixtures;
var testLabel;
var coll;
var em;
beforeEach(() => {
coll = new Selectors();
testLabel = 'TestLabel';
em = new EditorModel();
var model = coll.add({
name: 'test',
label: testLabel
});
obj = new ClassTagView({
config: {
em: new EditorModel()
},
config: { em },
model,
coll
});
@ -63,10 +63,10 @@ module.exports = {
expect($el.find('#tag-label')[0]).toBeTruthy();
});
});
test('Could be removed', () => {
// To refactor.. the remove method relies on selected component...
test.skip('Could be removed', () => {
obj.$el.find('#close').trigger('click');
setTimeout(() => expect(fixtures.innerHTML).toBeFalsy(), 5);
expect(fixtures.innerHTML).toBeFalsy();
});
test('Checkbox toggles status', () => {

7
test/specs/selector_manager/view/ClassTagsView.js

@ -109,10 +109,13 @@ module.exports = {
expect(view.endNewTag.calledOnce).toEqual(true);
});
test('Collection changes on update of target', () => {
test('Collection changes on update of target', done => {
coll.add({ name: 'test' });
target.trigger('component:toggled');
expect(coll.length).toEqual(0);
setTimeout(() => {
expect(coll.length).toEqual(0);
done();
});
});
test('Collection reacts on reset', () => {

Loading…
Cancel
Save