@ -1,6 +1,7 @@
/* eslint-disable no-console */
let { describe , it , before , beforeEach } = require ( 'mocha' ) ;
let chai = require ( 'chai' ) . use ( require ( 'chai-as-promised' ) ) ;
let sinon = require ( 'sinon' ) ;
let getQueue = require ( '../mock' ) . getQueue ;
let getController = require ( '../boilerplate' ) . getController ;
let expect = require ( 'chai' ) . expect
@ -174,4 +175,50 @@ describe('controller calls', () => {
return result . should . become ( [ ] ) ;
} ) ;
} ) ;
describe ( 'appends the disclaimer, P4TB-131' , ( ) => {
it ( 'to unencrypted messages' , ( ) => {
controller . setPrefs ( {
getDisclaimer : ( ) => "disclaimer" ,
getDisclaimerMode : ( ) => "disclaimer-all"
} ) ;
let prom = controller . disclaimerStep ( messages . unencrypted . simple ) ;
return expect ( prom ) . to . eventually . have . property ( "longmsg" , "body\r\ndisclaimer" ) ;
} ) ;
it ( 'to encrypted messages' , ( ) => {
queue . respondWith ( { "jsonrpc" : "2.0" , "id" : 21 , "result" : { "outParams" : [ { "rating" : 6 } ] , "return" : { "status" : 0 , "hex" : "0 \"PEP_STATUS_OK\"" } , "errorstack" : [ "(1 elements cleared)" ] } } ) ;
controller . setPrefs ( {
getDisclaimer : ( ) => "disclaimer" ,
getDisclaimerMode : ( ) => "disclaimer-encrypted"
} ) ;
let prom = controller . disclaimerStep ( messages . unencrypted . simple ) ;
return expect ( prom ) . to . eventually . have . property ( "longmsg" , "body\r\ndisclaimer" ) ;
} ) ;
it ( 'encrypted mode with unencrypted message' , ( ) => {
queue . respondWith ( { "jsonrpc" : "2.0" , "id" : 21 , "result" : { "outParams" : [ { "rating" : 3 } ] , "return" : { "status" : 0 , "hex" : "0 \"PEP_STATUS_OK\"" } , "errorstack" : [ "(1 elements cleared)" ] } } ) ;
controller . setPrefs ( {
getDisclaimer : ( ) => "disclaimer" ,
getDisclaimerMode : ( ) => "disclaimer-encrypted"
} ) ;
let prom = controller . disclaimerStep ( messages . unencrypted . simple ) ;
return expect ( prom ) . to . eventually . have . property ( "longmsg" , "body" ) ;
} ) ;
it ( 'none mode' , ( ) => {
controller . setPrefs ( {
getDisclaimer : ( ) => "disclaimer" ,
getDisclaimerMode : ( ) => "disclaimer-none"
} ) ;
let prom = controller . disclaimerStep ( messages . unencrypted . simple ) ;
return expect ( prom ) . to . eventually . have . property ( "longmsg" , "body" ) ;
} ) ;
it ( 'leaves the message untouched when the call to the engine fails' , ( ) => {
controller . setPrefs ( {
getDisclaimer : ( ) => "disclaimer" ,
getDisclaimerMode : ( ) => "disclaimer-encrypted"
} ) ;
let rating = sinon . stub ( controller , "getOngoingRating" ) ;
rating . returns ( Promise . reject ( ) ) ;
let prom = controller . disclaimerStep ( messages . unencrypted . simple ) ;
return expect ( prom ) . to . eventually . have . property ( "longmsg" , "body" ) ;
} ) ;
} ) ;
} ) ;