Files
zulip/frontend_tests/casper_tests/08-edit.js
Cory Lynch ba7b7a9a36 Change edit_message_content to have unique IDs for different messages.
Fixes bugs of when multiple messages are being edited simultaneously.
Specifically, typeahead is no longer broken, copying messages to clipboard
is less buggy, and resizing is no longer
broken when multiple messages are being edited.
2017-04-28 12:15:34 -07:00

147 lines
4.3 KiB
JavaScript

var common = require('../casper_lib/common.js').common;
common.start_and_log_in();
function then_edit_last_message() {
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
msg.find('.info').click();
$('.popover_edit_message').click();
});
});
casper.then(function () {
casper.waitUntilVisible(".message_edit_content");
});
}
// Send and edit a stream message
common.then_send_message('stream', {
stream: 'Verona',
subject: 'edits',
content: 'test editing',
});
casper.waitForText("test editing");
common.wait_for_message_actually_sent();
then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
msg.find('.message_edit_topic').val("edited");
msg.find('.message_edit_content').val("test edited");
msg.find('.message_edit_save').click();
});
});
casper.waitWhileVisible("textarea.message_edit_content", function () {
casper.test.assertSelectorHasText(".last_message .message_content", "test edited");
});
common.then_send_message('stream', {
stream: 'Verona',
subject: 'edits',
content: '/me test editing one line with me',
});
casper.waitForText("test editing one line with me");
common.wait_for_message_actually_sent();
then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
msg.find('.message_edit_topic').val("edited");
msg.find('.message_edit_content').val("/me test edited one line with me");
msg.find('.message_edit_save').click();
});
});
casper.waitWhileVisible("textarea.message_edit_content", function () {
casper.test.assertSelectorHasText(".last_message .sender-status", "test edited one line with me");
});
common.then_send_message('private', {
recipient: "cordelia@zulip.com",
content: "test editing pm",
});
casper.waitForText("test editing pm");
common.wait_for_message_actually_sent();
then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
msg.find('.message_edit_content').val("test edited pm");
msg.find('.message_edit_save').click();
});
});
casper.then(function () {
casper.waitWhileVisible("textarea.message_edit_content", function () {
casper.test.assertSelectorHasText(".last_message .message_content", "test edited pm");
});
});
// test editing last own message
// 37 is left arrow key code
casper.then(function () {
casper.test.assertNotVisible('form.message_edit_form', 'Message edit box not visible');
common.keypress(37);
casper.waitUntilVisible(".message_edit_content", function () {
var fieldVal = common.get_form_field_value('.message_edit_content');
casper.test.assertEquals(fieldVal, "test edited pm", "Opened editing last own message");
casper.click('.message_edit_cancel');
});
});
casper.then(function () {
casper.waitWhileVisible('.message_edit', function () {
casper.click('body');
casper.page.sendEvent('keypress', "c");
});
});
casper.then(function () {
casper.waitUntilVisible('#compose', function () {
casper.evaluate(function () {
$('#new_message_content').expectOne().focus();
$('#new_message_content').trigger($.Event('keydown', { which: 37 }));
});
});
});
casper.then(function () {
casper.waitUntilVisible(".message_edit_form", function () {
casper.echo("Opened editing last own message");
casper.click('.message_edit_cancel');
});
});
casper.then(function () {
casper.waitWhileVisible('.message_edit', function () {
casper.click('body');
casper.page.sendEvent('keypress', "c");
});
});
casper.then(function () {
casper.waitUntilVisible('#compose', function () {
casper.evaluate(function () {
$('#new_message_content').expectOne().focus().val('test');
$('#new_message_content').trigger($.Event('keydown', { which: 37 }));
});
casper.test.assertNotVisible('form.message_edit_form', "Last own message edit doesn't open if the compose box not empty");
});
});
casper.run(function () {
casper.test.done();
});