diff options
Diffstat (limited to 'lang/js/test/Message.js')
-rw-r--r-- | lang/js/test/Message.js | 62 |
1 files changed, 56 insertions, 6 deletions
diff --git a/lang/js/test/Message.js b/lang/js/test/Message.js index 44206fba..a7dd3af5 100644 --- a/lang/js/test/Message.js +++ b/lang/js/test/Message.js @@ -21,23 +21,73 @@ import { expect } from "../node_modules/chai/chai"; import { GPGME_Message, createMessage } from "../src/Message"; -import { message_params } from "./inputvalues"; +import { message_params as mp, helper_params as hp} from "./inputvalues"; -function Messagetest(){ +export function Messagetest(){ describe('Message Object', function(){ - describe('incorrect initialization', function(){ + describe('correct initialization of an encrypt Message', function(){ + it('creating Message', function(){ + let test0 = createMessage('encrypt'); + expect(test0).to.be.an.instanceof(GPGME_Message); + expect(test0.isComplete).to.be.false; + }); + it('Message is complete after setting mandatoy data', function(){ + let test0 = createMessage('encrypt'); + test0.setParameter('data', mp.valid_encrypt_data); + test0.setParameter('keys', hp.validFingerprints); + expect(test0.isComplete).to.be.true; + }); + it('Complete Message contains the data that was set', function(){ + let test0 = createMessage('encrypt'); + test0.setParameter('data', mp.valid_encrypt_data); + test0.setParameter('keys', hp.validFingerprints); + + expect(test0.message).to.not.be.null; + expect(test0.message).to.have.keys('op', 'data', 'keys'); + expect(test0.message.op).to.equal('encrypt'); + expect(test0.message.data).to.equal( + mp.valid_encrypt_data); + }); + }); + + describe('Incorrect initialization', function(){ it('non-allowed operation', function(){ - let test0 = createMessage(message_params.invalid_op_action); + let test0 = createMessage(mp.invalid_op_action); expect(test0).to.be.an.instanceof(Error); expect(test0.code).to.equal('MSG_WRONG_OP'); }); it('wrong parameter type in constructor', function(){ - let test0 = createMessage(message_params.invalid_op_type); + let test0 = createMessage(mp.invalid_op_type); expect(test0).to.be.an.instanceof(Error); expect(test0.code).to.equal('PARAM_WRONG'); }); }); + + describe('Setting wrong parameters', function(){ + it('Wrong parameter name', function(){ + let test0 = createMessage(mp.invalid_param_test.valid_op); + for (let i=0; i < mp.invalid_param_test.invalid_param_names.length; i++){ + let ret = test0.setParameter( + mp.invalid_param_test.invalid_param_names[i], + 'Somevalue'); + expect(ret).to.be.an.instanceof(Error); + expect(ret.code).to.equal('PARAM_WRONG'); + } + }); + it('Wrong parameter value', function(){ + let test0 = createMessage(mp.invalid_param_test.valid_op); + for (let j=0; + j < mp.invalid_param_test.invalid_values_0.length; + j++){ + let ret = test0.setParameter( + mp.invalid_param_test.validparam_name_0, + mp.invalid_param_test.invalid_values_0[j]); + expect(ret).to.be.an.instanceof(Error); + expect(ret.code).to.equal('PARAM_WRONG'); + } + }); + }); }); -}; +} export default Messagetest;
\ No newline at end of file |