2015-10-14 00:21:23 +02:00
|
|
|
var common = require('../casper_lib/common.js').common;
|
2013-10-31 19:12:35 +01:00
|
|
|
|
|
|
|
// Test basic tab navigation.
|
|
|
|
|
|
|
|
common.start_and_log_in();
|
|
|
|
|
|
|
|
casper.then(function () {
|
|
|
|
casper.test.info('Testing navigation');
|
|
|
|
});
|
|
|
|
|
2016-10-07 19:08:17 +02:00
|
|
|
function wait_for_tab(tab) {
|
|
|
|
casper.waitForSelector('#' + tab + '.tab-pane.active', function () {
|
|
|
|
casper.test.assertExists('#' + tab + '.tab-pane.active', tab + ' page is active');
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2013-10-31 19:12:35 +01:00
|
|
|
function then_navigate_to(click_target, tab) {
|
|
|
|
casper.then(function () {
|
|
|
|
casper.test.info('Visiting #' + click_target);
|
2016-12-03 01:12:52 +01:00
|
|
|
casper.click("a[href='#" + click_target + "']");
|
2016-10-07 19:08:17 +02:00
|
|
|
wait_for_tab(tab);
|
2013-10-31 19:12:35 +01:00
|
|
|
});
|
2016-10-07 19:08:17 +02:00
|
|
|
}
|
2013-10-31 19:12:35 +01:00
|
|
|
|
2016-10-07 19:08:17 +02:00
|
|
|
function then_navigate_to_settings() {
|
|
|
|
casper.then(function () {
|
|
|
|
casper.test.info('Navigate to settings');
|
|
|
|
var menu_selector = '#settings-dropdown';
|
|
|
|
casper.waitUntilVisible(menu_selector, function () {
|
|
|
|
casper.click(menu_selector);
|
|
|
|
casper.waitUntilVisible('a[href^="#settings"]', function () {
|
|
|
|
casper.click('a[href^="#settings"]');
|
2017-02-10 07:55:26 +01:00
|
|
|
casper.waitUntilVisible('#settings_page', function () {
|
2016-12-03 01:12:52 +01:00
|
|
|
casper.test.assertExists('#settings_page', "Settings page is active");
|
|
|
|
casper.click("#settings_page .exit");
|
|
|
|
});
|
2016-10-07 19:08:17 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function then_navigate_to_subscriptions() {
|
|
|
|
casper.then(function () {
|
|
|
|
casper.test.info('Navigate to subscriptions');
|
|
|
|
|
|
|
|
var menu_selector = '#settings-dropdown';
|
|
|
|
casper.waitUntilVisible(menu_selector, function () {
|
|
|
|
casper.click(menu_selector);
|
2016-11-01 22:32:10 +01:00
|
|
|
casper.click('a[href^="#subscriptions"]');
|
2017-02-10 07:55:26 +01:00
|
|
|
casper.waitUntilVisible("#subscription_overlay", function () {
|
2016-11-01 22:32:10 +01:00
|
|
|
casper.test.assertExists('#subscriptions_table', "#subscriptions page is active");
|
2016-10-07 19:08:17 +02:00
|
|
|
});
|
|
|
|
});
|
2013-10-31 19:12:35 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// Take a navigation tour of the app.
|
|
|
|
// Entries are (click target, tab that should be active after clicking).
|
2016-10-07 19:08:17 +02:00
|
|
|
then_navigate_to_settings();
|
|
|
|
then_navigate_to('narrow/stream/Verona', 'home');
|
|
|
|
then_navigate_to('home', 'home');
|
|
|
|
then_navigate_to_subscriptions();
|
|
|
|
then_navigate_to('', 'home');
|
|
|
|
then_navigate_to_settings();
|
|
|
|
then_navigate_to('narrow/stream/Verona', 'home');
|
|
|
|
then_navigate_to_subscriptions();
|
|
|
|
then_navigate_to('narrow/is/private', 'home');
|
2013-10-31 19:12:35 +01:00
|
|
|
|
|
|
|
common.then_log_out();
|
|
|
|
|
|
|
|
// Run the above queued actions.
|
|
|
|
casper.run(function () {
|
|
|
|
casper.test.done();
|
|
|
|
});
|