Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
138 lines
4.4 KiB
JavaScript
Executable file
138 lines
4.4 KiB
JavaScript
Executable file
/* global require, marionette, setup, suite, test, __dirname */
|
|
'use strict';
|
|
|
|
var assert = require('assert');
|
|
|
|
var Messages = require('./lib/messages.js');
|
|
var MessagesActivityCaller = require('./lib/messages_activity_caller.js');
|
|
|
|
marionette('Messages as share target', function() {
|
|
var apps = {};
|
|
|
|
apps[MessagesActivityCaller.ORIGIN] = __dirname + '/apps/activitycaller';
|
|
|
|
var client = marionette.client({
|
|
profile: {
|
|
apps: apps
|
|
},
|
|
desiredCapabilities: { raisesAccessibilityExceptions: false }
|
|
});
|
|
|
|
var messagesApp,
|
|
activityCallerApp;
|
|
|
|
setup(function() {
|
|
messagesApp = Messages.create(client);
|
|
activityCallerApp = MessagesActivityCaller.create(client);
|
|
|
|
client.loader.getMockManager('sms').inject([
|
|
'navigator_moz_icc_manager',
|
|
'navigator_moz_mobile_message'
|
|
]);
|
|
});
|
|
|
|
suite('Share via Messages', function() {
|
|
suite('Activity close button', function() {
|
|
setup(function() {
|
|
activityCallerApp.launch();
|
|
activityCallerApp.shareImage();
|
|
|
|
messagesApp.switchTo();
|
|
});
|
|
|
|
test('Should close activity if in NewMessage view', function() {
|
|
assert.equal(
|
|
messagesApp.NewMessage.header.getAttribute('action'), 'close',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Exit from activity and verify that Messages is dismissed
|
|
messagesApp.performHeaderAction();
|
|
messagesApp.waitForAppToDisappear();
|
|
});
|
|
|
|
test('Should close activity if in Conversation view', function() {
|
|
// Send message to be forwarded to Conversation panel afterwards
|
|
messagesApp.addRecipient('+1');
|
|
messagesApp.send();
|
|
|
|
assert.equal(
|
|
messagesApp.NewMessage.header.getAttribute('action'), 'close',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Exit from activity and verify that Messages is dismissed
|
|
messagesApp.performHeaderAction();
|
|
messagesApp.waitForAppToDisappear();
|
|
});
|
|
|
|
test('Should return to Conversation view if in Report view', function() {
|
|
// Send message to be forwarded to Conversation panel afterwards
|
|
messagesApp.addRecipient('+1');
|
|
messagesApp.send();
|
|
|
|
// Go to the Report panel
|
|
messagesApp.contextMenu(messagesApp.Conversation.message);
|
|
messagesApp.Menu.selectAppMenuOption('View message report');
|
|
messagesApp.Report.waitToAppear();
|
|
|
|
assert.equal(
|
|
messagesApp.Report.header.getAttribute('action'), 'close',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Close report panel
|
|
messagesApp.performReportHeaderAction();
|
|
client.helper.waitForElement(messagesApp.Conversation.message);
|
|
|
|
assert.equal(
|
|
messagesApp.NewMessage.header.getAttribute('action'), 'close',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Exit from activity and verify that Messages is dismissed
|
|
messagesApp.performHeaderAction();
|
|
messagesApp.waitForAppToDisappear();
|
|
});
|
|
|
|
// Temporarily skip due to intermittent failures - Participants view is
|
|
// not opened after tapping on the conversation header.
|
|
test.skip('Should return to Conversation panel if in Participants panel',
|
|
function() {
|
|
// Send group MMS message
|
|
messagesApp.addRecipient('+1');
|
|
messagesApp.addRecipient('+2');
|
|
|
|
// TODO: This should be moved to the appropriate test case in:
|
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=1043903
|
|
messagesApp.Composer.messageInput.sendKeys(
|
|
'very_very_very_very_very_very_long_message_i_can_ever_imagine'
|
|
);
|
|
|
|
messagesApp.send();
|
|
|
|
// Go to Participants panel
|
|
messagesApp.Conversation.headerTitle.tap();
|
|
messagesApp.Participants.waitToAppear();
|
|
|
|
assert.equal(
|
|
messagesApp.Participants.header.getAttribute('action'), 'back',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Go back to Conversation panel
|
|
messagesApp.performGroupHeaderAction();
|
|
client.helper.waitForElement(messagesApp.Conversation.message);
|
|
|
|
assert.equal(
|
|
messagesApp.NewMessage.header.getAttribute('action'), 'close',
|
|
'Close activity button should be visible'
|
|
);
|
|
|
|
// Exit from activity and verify that Messages is dismissed
|
|
messagesApp.performHeaderAction();
|
|
messagesApp.waitForAppToDisappear();
|
|
});
|
|
});
|
|
});
|
|
});
|