@@ -5,6 +5,8 @@ const { helperNewAppManaging } = require('./test-utils/helpersAppTemplate');
55const { assert } = require ( './test-utils/deps-node' ) ;
66
77describe ( '[APRX] appTemplates Requests' , function ( ) {
8+ this . timeout ( 8000 ) ;
9+
810 before ( async ( ) => {
911 await initHDSModel ( ) ;
1012 } ) ;
@@ -50,6 +52,7 @@ describe('[APRX] appTemplates Requests', function () {
5052 consent : { en : 'Short Consent' } ,
5153 description : { en : 'Short Description' } ,
5254 requester : { name : 'Username APRC' } ,
55+ features : { } ,
5356 permissionsExtra : [
5457 { streamId : 'profile' , defaultName : 'Profile' , level : 'read' } ,
5558 {
@@ -97,4 +100,56 @@ describe('[APRX] appTemplates Requests', function () {
97100 } ;
98101 assert . deepEqual ( requestContent , expectedContent ) ;
99102 } ) ;
103+
104+ it ( '[APRD] A request with chat' , async ( ) => {
105+ const baseStreamId = 'aprd' ;
106+ const { appManaging } = await helperNewAppManaging ( baseStreamId , 'test-APRD' ) ;
107+ const newCollector = await appManaging . createCollector ( 'Invite test APRD' ) ;
108+
109+ const request = newCollector . request ;
110+ request . appId = 'dr-form' ;
111+ request . appUrl = 'https://xxx.yyy' ;
112+ request . title = { en : 'My title' } ;
113+ request . requesterName = 'Username APRD' ;
114+ request . description = { en : 'Short Description' } ;
115+ request . consent = { en : 'Short Consent' } ;
116+ request . addPermissionExtra ( { streamId : 'profile' } ) ;
117+ request . addChatFeature ( ) ;
118+
119+ const sectionA = request . createSection ( 'profile' , 'permanent' ) ;
120+ sectionA . setNameLocal ( 'en' , 'A' ) ;
121+ sectionA . addItemKeys ( [
122+ 'profile-name' ,
123+ 'profile-surname'
124+ ] ) ;
125+
126+ // build permissions needed
127+ request . buildPermissions ( ) ;
128+
129+ const requestContent = request . content ;
130+
131+ assert . ok ( requestContent . id . startsWith ( baseStreamId ) , 'id should start with the basetreamid of the manager' ) ;
132+
133+ const expectedContent = {
134+ version : 1 ,
135+ title : { en : 'My title' } ,
136+ consent : { en : 'Short Consent' } ,
137+ description : { en : 'Short Description' } ,
138+ requester : { name : 'Username APRD' } ,
139+ features : { chat : { type : 'user' } } ,
140+ permissionsExtra : [ { streamId : 'profile' , defaultName : 'Profile' , level : 'read' } ] ,
141+ permissions : [ { streamId : 'profile' , defaultName : 'Profile' , level : 'read' } ] ,
142+ app : { id : 'dr-form' , url : 'https://xxx.yyy' , data : { } } ,
143+ sections : [
144+ {
145+ key : 'profile' ,
146+ type : 'permanent' ,
147+ name : { en : 'A' } ,
148+ itemKeys : [ 'profile-name' , 'profile-surname' ]
149+ }
150+ ] ,
151+ id : requestContent . id
152+ } ;
153+ assert . deepEqual ( requestContent , expectedContent ) ;
154+ } ) ;
100155} ) ;
0 commit comments