});
});
+describe('Assign exercise', function() {
+ /* jshint multistr:true */
+ it('assigns source to destination', function() {
+ var doc = getDocumentFromXML('\
+ <div class="exercise.assign">\
+ <div class="list" target="kategorie">\
+ <div class="item.answer">Element 1</div>\
+ <div class="item.answer">Element 2</div>\
+ </div>\
+ <div class="list" id="kategorie">\
+ <div class="item" id="kat1">Kategoria 1</div>\
+ <div class="item" id="kat2">Kategoria 2</div>\
+ </div>\
+ </div>'),
+ exercise = doc.root,
+ element = exercise.object.getSourceItems()[1],
+ categories = exercise.object.getDestinationItems(),
+ elementNode = exercise.contents()[0].contents()[1];
+
+ element.assignTo(categories[0]);
+ expect(elementNode.getAttr('answer')).to.equal('kat1');
+ expect(element.isAssignedTo(categories[0])).to.equal(true);
+
+ element.assignTo(categories[1]);
+ expect(elementNode.getAttr('answer')).to.equal('kat1,kat2');
+ expect(element.isAssignedTo(categories[1])).to.equal(true);
+ });
+ it('removes assignment between source and destination', function() {
+ var doc = getDocumentFromXML('\
+ <div class="exercise.assign">\
+ <div class="list" target="kategorie">\
+ <div class="item.answer">Element 1</div>\
+ <div class="item.answer" answer="kat1,kat2">Element 2</div>\
+ </div>\
+ <div class="list" id="kategorie">\
+ <div class="item" id="kat1">Kategoria 1</div>\
+ <div class="item" id="kat2">Kategoria 2</div>\
+ </div>\
+ </div>'),
+ exercise = doc.root,
+ element = exercise.object.getSourceItems()[1],
+ categories = exercise.object.getDestinationItems(),
+ elementNode = exercise.contents()[0].contents()[1];
+
+ element.removeFrom(categories[0]);
+ expect(elementNode.getAttr('answer')).to.equal('kat2');
+
+ element.removeFrom(categories[1]);
+ expect(elementNode.getAttr('answer')).to.equal(undefined, 'empty');
+ });
+});