X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e3f4ff223c5acd7cf97b6a9ba1cdd83111dba63b..refs/heads/exercise_assign:/src/wlxml/extensions/edumed/edumed.test.js
diff --git a/src/wlxml/extensions/edumed/edumed.test.js b/src/wlxml/extensions/edumed/edumed.test.js
index c039f0d..a3c9b89 100644
--- a/src/wlxml/extensions/edumed/edumed.test.js
+++ b/src/wlxml/extensions/edumed/edumed.test.js
@@ -64,6 +64,57 @@ describe('Setting answer', function() {
});
});
+describe('Assign exercise', function() {
+ /* jshint multistr:true */
+ it('assigns source to destination', function() {
+ var doc = getDocumentFromXML('\
+
\
+
\
+
Element 1
\
+
Element 2
\
+
\
+
\
+
Kategoria 1
\
+
Kategoria 2
\
+
\
+
'),
+ 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('\
+ \
+
\
+
Element 1
\
+
Element 2
\
+
\
+
\
+
Kategoria 1
\
+
Kategoria 2
\
+
\
+
'),
+ 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');
+ });
+});