Files
zulip/frontend_tests/casper_tests/15-delete-message.js
Thomas Ip b72f30bd06 jQuery: Replace positional selectors at the end of multiple selectors.
A selector like `$('.elem1 .elem2:first')` selects the first descendant
with class name `.elem2` under `.elem1`. This is the same as saying
`$('.elem1 .elem2').first()`. See example here:
https://jsbin.com/bohehesari/edit?html,js,output
2019-06-06 15:21:26 -07:00

51 lines
1.3 KiB
JavaScript

var common = require('../casper_lib/common.js').common;
common.start_and_log_in();
var last_message_id;
var msgs_qty;
casper.then(function () {
casper.waitUntilVisible("#zhome");
});
casper.then(function () {
msgs_qty = this.evaluate(function () {
return $('#zhome .message_row').length;
});
last_message_id = this.evaluate(function () {
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
$('.delete_message').click();
return msg.attr('id');
});
});
casper.then(function () {
casper.waitUntilVisible("#delete_message_modal", function () {
casper.click('#do_delete_message_button');
});
});
casper.then(function () {
casper.test.assertVisible("#do_delete_message_spinner .loading_indicator_spinner");
casper.test.assertNotVisible("#do_delete_message_button");
});
casper.then(function () {
casper.waitFor(function check_length() {
return casper.evaluate(function (expected_length) {
return $('#zhome .message_row').length === expected_length;
}, msgs_qty - 1);
});
});
casper.then(function () {
casper.test.assertDoesntExist(last_message_id);
casper.test.assertNotVisible("#do_delete_message_spinner .loading_indicator_spinner");
});
casper.run(function () {
casper.test.done();
});