mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
I have a hunch that the messages sent from different files are interfering with each other as well. This commit will make it clear if indeed this is the case.
90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
/* Script for testing the web client.
|
|
|
|
This runs under CasperJS. It's an end-to-end black-box sort of test. It
|
|
simulates clicking around in the app, sending messages, etc. We run against
|
|
a real development server instance and avoid mocking as much as possible.
|
|
*/
|
|
|
|
// Provides a few utility functions.
|
|
// See http://casperjs.org/api.html#utils
|
|
// For example, utils.dump() prints an Object with nice formatting.
|
|
var utils = require('utils');
|
|
|
|
var common = require('../casper_lib/common.js').common;
|
|
|
|
common.start_and_log_in();
|
|
|
|
casper.then(function () {
|
|
casper.test.info('Sanity-checking existing messages');
|
|
|
|
var msg = common.get_rendered_messages('zhome');
|
|
|
|
msg.headings.forEach(function (heading) {
|
|
casper.test.assertMatch(common.normalize_spaces(heading),
|
|
/(^You and )|( )/,
|
|
'Heading is well-formed');
|
|
});
|
|
|
|
msg.bodies.forEach(function (body) {
|
|
casper.test.assertMatch(body,
|
|
/^(<p>(.|\n)*<\/p>)?$/,
|
|
'Body is well-formed');
|
|
});
|
|
|
|
casper.test.info('Sending messages');
|
|
});
|
|
|
|
// Send some messages.
|
|
|
|
common.then_send_many([
|
|
{ stream: 'Verona', subject: 'frontend test',
|
|
content: 'test verona A' },
|
|
|
|
{ stream: 'Verona', subject: 'frontend test',
|
|
content: 'test verona B' },
|
|
|
|
{ stream: 'Verona', subject: 'other subject',
|
|
content: 'test verona C' },
|
|
|
|
{ recipient: 'cordelia@zulip.com, hamlet@zulip.com',
|
|
content: 'personal A' },
|
|
|
|
{ recipient: 'cordelia@zulip.com, hamlet@zulip.com',
|
|
content: 'personal B' },
|
|
|
|
{ recipient: 'cordelia@zulip.com',
|
|
content: 'personal C' }]);
|
|
|
|
common.wait_for_receive(function () {
|
|
common.expected_messages('zhome', [
|
|
'Verona > frontend test',
|
|
'Verona > other subject',
|
|
'You and Cordelia Lear, King Hamlet',
|
|
'You and Cordelia Lear'
|
|
], [
|
|
'<p>test verona A</p>',
|
|
'<p>test verona B</p>',
|
|
'<p>test verona C</p>',
|
|
'<p>personal A</p>',
|
|
'<p>personal B</p>',
|
|
'<p>personal C</p>'
|
|
]);
|
|
|
|
casper.test.info('Sending more messages');
|
|
});
|
|
|
|
common.then_send_many([
|
|
{ stream: 'Verona', subject: 'frontend test',
|
|
content: 'test verona D' },
|
|
|
|
{ recipient: 'cordelia@zulip.com, hamlet@zulip.com',
|
|
content: 'personal D' }
|
|
]);
|
|
|
|
common.then_log_out();
|
|
|
|
// Run the above queued actions.
|
|
casper.run(function () {
|
|
casper.test.done();
|
|
});
|