1 import PermissionOutputCollector from '../src/client/permission-output-collector.prototype';
2 import PermissionOutput from '../src/model/permission-output.prototype';
3 import createPermission from "../src/async-function/create-permission";
4 import TermCollector from "../src/client/term-collector.prototype";
5 import sinon from "sinon";
7 QUnit.test("Collect output roles and usernames", async ( assert ) => {
9 const fetchFromBackend = async() => {
11 taxonomyRelationFieldNames: ['field-one', 'field-two', 'field-thrid'],
15 '4': ['brandon', 'brian']
18 '1': ['admin','editor'],
25 computeTids: sinon.stub().returns(['2'])
27 termCollector = new TermCollector;
29 termCollector.addSelectedTids(domClient.computeTids(['first-field', 'second-field']));
32 * @var Backend[] permissions
33 * @var PermissionOutputCollector permissionOutputCollector
35 let permissions = await createPermission(fetchFromBackend),
36 permissionOutput = new PermissionOutput,
37 permissionOutputCollector = new PermissionOutputCollector(permissionOutput);
39 permissionOutputCollector.collect(permissions, termCollector.getSelectedTids());
41 assert.deepEqual(permissionOutputCollector.getPermissionOutput().getRoles(), ['editor']);
42 assert.deepEqual(permissionOutputCollector.getPermissionOutput().getUsernames(), ['jeff']);
46 QUnit.test("Collect permissions without duplicates", async (assert) => {
48 const fetchFromBackend = async() => {
50 taxonomyRelationFieldNames: ['field-one', 'field-two', 'field-thrid'],
54 '4': ['brandon', 'brian']
57 '1': ['admin','admin','editor'],
58 '2': ['editor','editor']
64 computeTids: sinon.stub().returns(['2'])
66 termCollector = new TermCollector;
68 termCollector.addSelectedTids(domClient.computeTids(['first-field', 'second-field']));
71 * @var Backend[] permissions
73 let permissions = await createPermission(fetchFromBackend),
74 permissionOutput = new PermissionOutput,
75 permissionOutputCollector = new PermissionOutputCollector(permissionOutput);
77 permissionOutputCollector.collect(permissions, termCollector.getSelectedTids());
79 assert.deepEqual(permissionOutputCollector.getPermissionOutput().getRoles(), ['editor']);
80 assert.deepEqual(permissionOutputCollector.getPermissionOutput().getUsernames(), ['jeff']);