UNPKG

@moxtradeveloper/cordova-plugin-moxo

Version:

Plugin for adding Moxtra services to Cordova/PhoneGap Apps.

295 lines (277 loc) 11.5 kB
var mep_domain = 'https://baz.grouphour.com'; var client_id = "ODg5YWQzMjk"; var unique_id = "brad.rm"; var org_id = "Pz532Kto7JgJ1PyKr80MHJ0"; var client_secret = "MzY3NDc5ZWY"; exports.defineAutoTests = function () { jasmine.DEFAULT_TIMEOUT_INTERVAL = 2000; function getAccessToken() { var xmlHttp = new XMLHttpRequest(); var tokenDomain = mep_domain + "/v1/oauth/token?" + `client_id=${client_id}&client_secret=${client_secret}&grant_type=http://www.moxtra.com/auth_uniqueid&uniqueid=${unique_id}&timestamp=${Date.now()}&orgid=${org_id}` console.log(tokenDomain); xmlHttp.open( "POST", tokenDomain, false ); xmlHttp.send( null ); if (xmlHttp.status == 200) { var result = JSON.parse(xmlHttp.responseText); return result.access_token; } return ""; }; describe('Plugin ready', function () { it('plugin should exist', function () { expect(window.Moxtra).toBeDefined(); }); //Functions defined it('setupDomain should defined', function () { expect(typeof window.Moxtra.setupDomain).toEqual('function'); }); it('linkWithAccessToken should defined', function () { expect(typeof window.Moxtra.linkWithAccessToken).toEqual('function'); }); it('showMEPWindow should defined', function () { expect(typeof window.Moxtra.showMEPWindow).toEqual('function'); }); it('showMEPWindowLite should defined', function () { expect(typeof window.Moxtra.showMEPWindowLite).toEqual('function'); }); it('hideMEPWindow should defined', function () { expect(typeof window.Moxtra.hideMEPWindow).toEqual('function'); }); it('destroyMEPWindow should defined', function () { expect(typeof window.Moxtra.destroyMEPWindow).toEqual('function'); }); it('openChat should defined', function () { expect(typeof window.Moxtra.openChat).toEqual('function'); }); it('registerNotification should defined', function () { expect(typeof window.Moxtra.registerNotification).toEqual('function'); }); it('isMEPNotification should defined', function () { expect(typeof window.Moxtra.isMEPNotification).toEqual('function'); }); it('parseRemoteNotification should defined', function () { expect(typeof window.Moxtra.parseRemoteNotification).toEqual('function'); }); it('isLinked should defined', function () { expect(typeof window.Moxtra.isLinked).toEqual('function'); }); it('unlink should defined', function () { expect(typeof window.Moxtra.unlink).toEqual('function'); }); it('onLogout should defined', function () { expect(typeof window.Moxtra.onLogout).toEqual('function'); }); it('onCloseButtonClicked should defined', function () { expect(typeof window.Moxtra.onCloseButtonClicked).toEqual('function'); }); }); describe('linkWithAccessToken tests', function () { beforeAll(function() { window.Moxtra.setupDomain(mep_domain,null,null,null); }); it('linkWithAccessToken with null token',function(done){ window.Moxtra.linkWithAccessToken(null,function(success){ expect(success).toBeNull(); done(); },function(error){ expect(error).toBeDefined(); done(); }); },90000); it('linkWithAccessToken with invalid token',function(done){ window.Moxtra.linkWithAccessToken("anyvalidtoken",function(success){ expect(success).toBeNull(); done(); },function(error){ expect(error).toBeDefined(); done(); }); },90000); it('linkWithAccessToken with valid token',function(done){ //get a token first var token = getAccessToken(); console.log("token got : " + token); window.Moxtra.linkWithAccessToken(token,function(success){ console.log("login success"); expect(success).toBeDefined(); done(); },function(error){ console.log("login failed" + error); expect(error).toBeNull(); done(); }); },90000); }); describe('openChat tests without link', function() { //Before link beforeAll(function(done){ window.Moxtra.onLogout(function() { done(); },90000); window.Moxtra.unlink(); },90000); it('open chat with valid id,sequence null',function(done) { window.Moxtra.openChat("CBPErkesrtOeFfURA6gusJAD",null,function(success){ expect(success).toBeNull(); done(); },function(error) { expect(error).toBeDefined(); done(); }); }); }); describe('openChat tests post link', function(){ function linkAndDone(done) { window.Moxtra.setupDomain(mep_domain,null,null,null); var token = getAccessToken(); console.log('Token got:' + token); window.Moxtra.linkWithAccessToken(token,function(success){ console.log('login success'); done(); },function(error){ console.log('login failed' + error); done(); }); } //Link SDK first beforeAll(function(done) { linkAndDone(done); },90000); afterEach(function(){ window.Moxtra.hideMEPWindow(); }); it('open chat with id null,sequence null',function(test) { window.Moxtra.openChat(null,null,function(success){ expect(success).toBeNull(); test(); },function(error) { expect(error).toBeDefined(); test(); }); },90000); it('open chat with invalid id,sequence null',function(done) { window.Moxtra.openChat("invalid_chat_id",null,function(success){ expect(success).toBeNull(); done(); },function(error) { expect(error).toBeDefined(); done(); }); },90000); it('open chat with valid id,invalid sequence ',function(done) { window.Moxtra.showMEPWindow(); window.Moxtra.openChat("CBPErkesrtOeFfURA6gusJAD","invalid",function(success){ expect(success).toBeDefined(); done(); },function(error) { expect(error).toBeNull(); done(); }); },90000); it('open chat with valid id,valid sequence ',function(done) { window.Moxtra.showMEPWindow(); window.Moxtra.openChat("CBPErkesrtOeFfURA6gusJAD","44",function(success){ expect(success).toBeDefined(); done(); },function(error) { expect(error).toBeNull(); done(); }); },90000); }); describe('is MEP notification token tests', function(){ it('parse non-mep notification',function(done){ var samplePayload = '{"aps":{"alert":{"body":"hello","title":"You have a new message"},"sound":"default","badge":1},"custom1":"custom information"}'; window.Moxtra.isMEPNotification(samplePayload,function(success){ expect(success).toEqual(false); done(); }); }); it('parse mep notification',function(done){ var samplePayload = '{"aps":{"alert":{"body":"cheng4: hi","action_loc_key":"BCA"},"sound":"default"},"request":{"object":{"board":{"id":"CBb5xBIyDu9h8P5GwKd0JifH","feeds":[{"sequence":191}]}}},"id":"26","moxtra":"","category":"message","board_id":"CBb5xBIyDu9h8P5GwKd0JifH"}'; if (cordova.platformId == 'android') { samplePayload = '{"registration_ids": ["Cs1ASF-Up"],"data": {"moxtra":"", "action_loc_key": "BCA","loc_key": "BCM", "arg1": "RM009","arg2": "this is a test message","arg3": "","badge": 25, "sound": "default", "board_id": "B5liMA6Frf4DEu4k40P6B1A","feed_sequence": 2644,"user_id": "","request": {"object":{"board":{"id":"B5liMA6Frf4DEu4k40P6B1A","feeds":[{"sequence":2644}]}}},"board_name": "Project 002","board_feed_unread_count": 13},"priority": "high"}'; } window.Moxtra.isMEPNotification(samplePayload,function(success){ expect(success).toEqual(true); done(); }); }); }); describe('parse notification tests',function(){ it('parse a non-mep notificaiton payload',function(done){ var samplePayload = '{"aps":{"alert":{"body":"hello","title":"You have a new message"},"sound":"default","badge":1},"custom1":"custom information"}'; window.Moxtra.parseRemoteNotification(samplePayload,function(data){ expect(data).toBeNull(); done(); },function(errordata){ expect(errordata).toBeDefined(); done(); }); }); it('parse an invalid mep notification payload',function(done){ var samplePayload = '{"aps":{"alert":{"body":"cheng4: hi","action_loc_key":"BCA"},"sound":"default"},"request":{},"id":"26","moxtra":"","category":"message","board_id":"CBb5xBIyDu9h8P5GwKd0JifH"}'; window.Moxtra.parseRemoteNotification(samplePayload,function(data){ expect(data).toBeNull(); done(); },function(errordata){ expect(errordata).toBeDefined(); done(); }); }); it('parse valid mep notification payload',function(done){ var samplePayload = '{"aps":{"alert":{"body":"cheng4: hi","action_loc_key":"BCA"},"sound":"default"},"request":{"object":{"board":{"id":"CBPErkesrtOeFfURA6gusJAD","feeds":[{"sequence":191}]}}},"id":"359","moxtra":"","category":"message","board_id":"CBPErkesrtOeFfURA6gusJAD","moxtra":""}'; if (cordova.platformId == 'android') { samplePayload = '{"registration_ids": ["Cs1ASF-Up"],"data": {"moxtra":"", "action_loc_key": "BCA","loc_key": "BCM", "arg1": "RM009","arg2": "this is a test message","arg3": "","badge": 25, "sound": "default", "board_id": "B5liMA6Frf4DEu4k40P6B1A","feed_sequence": 2644,"user_id": "","request": {"object":{"board":{"id":"B5liMA6Frf4DEu4k40P6B1A","feeds":[{"sequence":2644}]}}},"board_name": "Project 002","board_feed_unread_count": 13},"priority": "high"}'; } window.Moxtra.parseRemoteNotification(samplePayload,function(data){ expect(data).toBeDefined(); done(); },function(errordata){ expect(errordata).toBeNull(); done(); }); }); }); describe('isLinked tests',function() { it('not linked before link',function(done) { window.Moxtra.onLogout(function() { window.Moxtra.isLinked(function(linked){ expect(linked).toBe(false); done(); }); }); window.Moxtra.unlink(); },90000); it('linked after link',function(done){ window.Moxtra.setupDomain(mep_domain,null,null,null); var token = getAccessToken(); window.Moxtra.linkWithAccessToken(token,function(success){ window.Moxtra.isLinked(function(linked){ expect(linked).toBe(true); done(); }); },function(error){ expect(error).toBeNull(); done(); }); },90000); it('not linked after unlink',function(done){ window.Moxtra.onLogout(function() { window.Moxtra.isLinked(function(linked){ expect(linked).toBe(false); done(); }); }); window.Moxtra.unlink(); },90000); }); }; exports.defineManualTests = function(contentEl, createActionButton) { createActionButton('Simple Test', function() { console.log(JSON.stringify(foo, null, '\t')); }); createActionButton('Complex Test', function() { contentEl.innerHTML = "sdada"; }); };