mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	We shouldn't be checking for #zfilt here, since we haven't done anything that should cause #zfilt to load. Instead, we verify whether messages have loaded into the DOM (the condition we actually want) by checking whether at least one message row is in the DOM.
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var common = require('../casper_lib/common.js');
 | 
						|
 | 
						|
var email = 'alice@test.example.com';
 | 
						|
var subdomain = 'testsubdomain';
 | 
						|
var organization_name = 'Awesome Organization';
 | 
						|
var host = "zulipdev.com:9981";
 | 
						|
var realm_host = "testsubdomain" + '.' + host;
 | 
						|
 | 
						|
casper.start('http://' + host + '/new/');
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    // Submit the email for realm creation
 | 
						|
    this.waitUntilVisible('form[name="email_form"]', function () {
 | 
						|
        this.fill('form[name="email_form"]', {
 | 
						|
            email: email,
 | 
						|
        }, true);
 | 
						|
    });
 | 
						|
    // Make sure confirmation email is send
 | 
						|
    this.waitWhileVisible('form[name="email_form"]', function () {
 | 
						|
        var regex = new RegExp('^http://[^/]+/accounts/new/send_confirm/' + email);
 | 
						|
        this.test.assertUrlMatch(regex, 'Confirmation mail send');
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
// Special endpoint enabled only during tests for extracting confirmation key
 | 
						|
casper.thenOpen('http://' + host + '/confirmation_key/');
 | 
						|
 | 
						|
// Open the confirmation URL
 | 
						|
casper.then(function () {
 | 
						|
    var confirmation_key = JSON.parse(this.getPageContent()).confirmation_key;
 | 
						|
    var confirmation_url = 'http://' + host + '/accounts/do_confirm/' + confirmation_key;
 | 
						|
    this.thenOpen(confirmation_url);
 | 
						|
});
 | 
						|
 | 
						|
// Make sure the realm creation page is loaded correctly
 | 
						|
casper.then(function () {
 | 
						|
    this.waitUntilVisible('.pitch', function () {
 | 
						|
        this.test.assertSelectorContains('.pitch', "We just need you to do one last thing.");
 | 
						|
    });
 | 
						|
 | 
						|
    this.waitUntilVisible('#id_email', function () {
 | 
						|
        this.test.assertEvalEquals(function () {
 | 
						|
            return $('#id_email').attr('placeholder');
 | 
						|
        }, email);
 | 
						|
    });
 | 
						|
 | 
						|
    this.waitUntilVisible('label[for=id_team_name]', function () {
 | 
						|
        this.test.assertSelectorHasText('label[for=id_team_name]', 'Organization name');
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    this.waitUntilVisible('form[action^="/accounts/register/"]', function () {
 | 
						|
        this.fill('form[action^="/accounts/register/"]', {
 | 
						|
            full_name: 'Alice',
 | 
						|
            realm_name: organization_name,
 | 
						|
            realm_subdomain: subdomain,
 | 
						|
            password: 'passwordwhichisreallyreallyreallycomplexandnotguessable',
 | 
						|
            terms: true,
 | 
						|
            realm_in_root_domain: false,
 | 
						|
        }, true);
 | 
						|
    });
 | 
						|
 | 
						|
    this.waitWhileVisible('form[action^="/accounts/register/"]', function () {
 | 
						|
        casper.test.assertUrlMatch(realm_host + '/', 'Home page loaded');
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    // The user is logged in to the newly created realm and the app is loaded
 | 
						|
    casper.waitUntilVisible('.message_row', function () {
 | 
						|
        this.test.assertTitleMatch(/ - Zulip$/, "Successfully logged into Zulip webapp");
 | 
						|
    }, null, 20000);
 | 
						|
});
 | 
						|
 | 
						|
common.then_log_out();
 | 
						|
 | 
						|
casper.run(function () {
 | 
						|
    casper.test.done();
 | 
						|
});
 |