Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / permissions_by_term / js / test / term-selector.tests.js
diff --git a/web/modules/contrib/permissions_by_term/js/test/term-selector.tests.js b/web/modules/contrib/permissions_by_term/js/test/term-selector.tests.js
new file mode 100644 (file)
index 0000000..e3e405b
--- /dev/null
@@ -0,0 +1,32 @@
+import DomClient from '../src/client/dom-client.prototype.js';
+import TermCollector from '../src/client/term-collector.prototype';
+import _ from 'lodash';
+import sinon from 'sinon';
+
+QUnit.test( "Term selector retrieves empty array if no tids selected", function( assert ) {
+
+  const domClient = {
+      computeTids: sinon.stub().returns([])
+    },
+    termCollector = new TermCollector;
+  termCollector.addSelectedTids(domClient.computeTids());
+
+  assert.ok(_.isEmpty(termCollector.getSelectedTids()));
+});
+
+QUnit.test( "Term selector retrieves array with tids if tids selected", function( assert ) {
+  const domClient = {
+        computeTids: sinon.stub().returns(['1','2','3'])
+      },
+      termCollector = new TermCollector;
+  termCollector.addSelectedTids(domClient.computeTids(['first-field', 'second-field']));
+
+  assert.deepEqual(termCollector.getSelectedTids(), ['1','2','3']);
+});
+
+QUnit.test( "Term selector retrieves tid array with no duplicates", function( assert ) {
+  const termCollector = new TermCollector;
+  termCollector.addSelectedTids(['1','1','1','2','2','2']);
+
+  assert.deepEqual(termCollector.getSelectedTids(), ['1','2']);
+});