X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fjs%2Ftest%2Fterm-selector.tests.js;fp=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fjs%2Ftest%2Fterm-selector.tests.js;h=e3e405b6714bdf36c2a9fe190385895776ac77e1;hb=059867c3f96750652c80f39e44c442a58c2549ee;hp=0000000000000000000000000000000000000000;hpb=f8fc16ae6b862bef59baaad5d051dd37b7ff11b2;p=yaffs-website 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 index 000000000..e3e405b67 --- /dev/null +++ b/web/modules/contrib/permissions_by_term/js/test/term-selector.tests.js @@ -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']); +});