mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-12 16:14:25 +03:00
72156c7f89
fixes #3072 - Change router to handle /ember/setup/ - Adjust doSignup to also handle setup - Adjust tests and add new where necessary - Add setup controller, setup validation, setup route - Adjust casper emberSetup to handle new setup
79 lines
3.1 KiB
JavaScript
79 lines
3.1 KiB
JavaScript
/**
|
|
* Tests the homepage
|
|
*/
|
|
|
|
/*globals CasperTest, casper, __utils__, url, testPost, falseUser, email */
|
|
CasperTest.begin('Home page loads', 3, function suite(test) {
|
|
casper.start(url, function then(response) {
|
|
test.assertTitle('Test Blog', 'The homepage should have a title and it should be "Test Blog"');
|
|
test.assertExists('.content .post', 'There is at least one post on this page');
|
|
test.assertSelectorHasText('.poweredby', 'Proudly published with Ghost');
|
|
});
|
|
}, true);
|
|
|
|
CasperTest.begin('Test helpers on homepage', 3, function suite(test) {
|
|
casper.start(url, function then(response) {
|
|
// body class
|
|
test.assertExists('body.home-template', 'body_class outputs correct home-template class');
|
|
// post class
|
|
test.assertExists('article.post', 'post_class outputs correct post class');
|
|
test.assertExists('article.tag-getting-started', 'post_class outputs correct tag class');
|
|
});
|
|
}, true);
|
|
|
|
CasperTest.begin('Test navigating to Post', 4, function suite(test) {
|
|
casper.thenOpen(url, function then(response) {
|
|
var lastPost = '.content article:last-of-type',
|
|
lastPostLink = lastPost + ' .post-title a';
|
|
|
|
test.assertExists(lastPost, 'there is a last child on the page');
|
|
test.assertSelectorHasText(lastPostLink, 'Welcome to Ghost', 'Is correct post');
|
|
|
|
casper.then(function testLink() {
|
|
var link = this.evaluate(function (lastPostLink) {
|
|
return document.querySelector(lastPostLink).getAttribute('href');
|
|
}, lastPostLink);
|
|
|
|
test.assert(link === '/welcome-to-ghost/', 'Has correct link');
|
|
});
|
|
|
|
casper.thenClick(lastPostLink);
|
|
|
|
casper.waitForResource(/welcome-to-ghost/).then(function (resource) {
|
|
test.assert(resource.status === 200, 'resource got 200');
|
|
});
|
|
});
|
|
}, true);
|
|
|
|
CasperTest.begin('Test navigating to Post with date permalink', 4, function suite(test) {
|
|
CasperTest.Routines.togglePermalinks.run('on');
|
|
casper.thenOpen(url, function then(response) {
|
|
var lastPost = '.content article:last-of-type',
|
|
lastPostLink = lastPost + ' .post-title a',
|
|
today = new Date(),
|
|
dd = ("0" + today.getDate()).slice(-2),
|
|
mm = ("0" + (today.getMonth() + 1)).slice(-2),
|
|
yyyy = today.getFullYear(),
|
|
postLink = '/' + yyyy + '/' + mm + '/' + dd + '/welcome-to-ghost/';
|
|
|
|
test.assertExists(lastPost, 'there is a last child on the page');
|
|
test.assertSelectorHasText(lastPostLink, 'Welcome to Ghost', 'Is correct post');
|
|
|
|
casper.then(function testLink() {
|
|
var link = this.evaluate(function (lastPostLink) {
|
|
return document.querySelector(lastPostLink).getAttribute('href');
|
|
}, lastPostLink);
|
|
|
|
test.assert(link === postLink, 'Has correct link');
|
|
});
|
|
|
|
casper.thenClick(lastPostLink);
|
|
|
|
casper.waitForResource(postLink).then(function (resource) {
|
|
test.assert(resource.status === 200, 'resource got 200');
|
|
});
|
|
});
|
|
CasperTest.Routines.togglePermalinks.run('off');
|
|
}, false);
|
|
|