Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / permissions_by_term / js / test / permission-creator.tests.js
1 import createPermission from '../src/async-function/create-permission';
2 import _ from 'lodash';
3
4 QUnit.test( "Get permission objects by querying backend with all params", async function( assert ) {
5
6   const fetchFromBackend = async() => {
7     return {
8       taxonomyRelationFieldNames: ['field-one', 'field-two', 'field-thrid'],
9       permissions: {
10         userDisplayNames: ['jeff', 'brandon', 'brian'],
11         roleLabels: ['admin', 'editor']
12       }
13     };
14   };
15
16   /**
17    * @var Permission permission
18    */
19   let permission = await createPermission(fetchFromBackend);
20
21   assert.ok(permission.getTidToUsername().length > 0, 'tid to username key-value store is contained');
22   assert.ok(permission.getTidToRoles().length > 0, 'tid to roles key-value store is contained');
23   assert.ok(permission.getFieldWrapperCSSClasses().length > 0, 'field wrapper css classes are contained');
24   assert.ok(permission.getTaxonomyRelationFieldNames().length > 0, 'taxonomy relation field names are contained');
25 });
26
27 QUnit.test( "Get permission objects by querying backend with partly params", async function( assert ) {
28
29   const fetchFromBackend = async() => {
30     return {
31       taxonomyRelationFieldNames: undefined,
32       permissions: {
33         userDisplayNames: ['jeff', 'brandon', 'brian'],
34       }
35     };
36   };
37
38   /**
39    * @var Access permission
40    */
41   let permission = await createPermission(fetchFromBackend);
42
43   assert.ok(permission.getTidToUsername().length > 0, 'tid to username key-value store is contained');
44   assert.ok(_.isEmpty(permission.getTidToRoles()), 'tid to roles key-value store is contained');
45   assert.ok(_.isEmpty(permission.getFieldWrapperCSSClasses()), 'field wrapper css classes are contained');
46   assert.ok(_.isEmpty(permission.getTaxonomyRelationFieldNames()), 'taxonomy relation field names are contained');
47 });