mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-17 21:41:49 +03:00
Functional tests for home and post page
closes #1373 - Note that the tests fail if you run them pre #1363, thus future proofing us from this happening again. - Added submodule handling to travis - Added a new test for each of the home and post pages
This commit is contained in:
parent
422403c40b
commit
cfe272e175
@ -4,9 +4,8 @@ node_js:
|
|||||||
env:
|
env:
|
||||||
- DB=sqlite3
|
- DB=sqlite3
|
||||||
- DB=mysql
|
- DB=mysql
|
||||||
git:
|
|
||||||
submodules: false
|
|
||||||
before_install:
|
before_install:
|
||||||
|
- git submodule update --init
|
||||||
- gem update --system
|
- gem update --system
|
||||||
- gem install sass bourbon
|
- gem install sass bourbon
|
||||||
- npm install -g grunt-cli
|
- npm install -g grunt-cli
|
||||||
|
22
core/test/functional/frontend/home_test.js
Normal file
22
core/test/functional/frontend/home_test.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
* 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('Ghost', 'The homepage should have a title and it should be Ghost');
|
||||||
|
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');
|
||||||
|
});
|
||||||
|
});
|
23
core/test/functional/frontend/post_test.js
Normal file
23
core/test/functional/frontend/post_test.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/**
|
||||||
|
* Tests the default post page
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*globals CasperTest, casper, __utils__, url, testPost, falseUser, email */
|
||||||
|
CasperTest.begin('Post page loads', 3, function suite(test) {
|
||||||
|
casper.start(url + 'welcome-to-ghost', function then(response) {
|
||||||
|
test.assertTitle('Welcome to Ghost', 'The post should have a title and it should be "Welcome to Ghost"');
|
||||||
|
test.assertElementCount('.content .post', 1, 'There is exactly one post on this page');
|
||||||
|
test.assertSelectorHasText('.poweredby', 'Proudly published with Ghost');
|
||||||
|
});
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
CasperTest.begin('Test helpers on homepage', 4, function suite(test) {
|
||||||
|
casper.start(url + 'welcome-to-ghost', function then(response) {
|
||||||
|
// body class
|
||||||
|
test.assertExists('body.post-template', 'body_class outputs correct post-template class');
|
||||||
|
test.assertExists('body.tag-getting-started', 'body_class outputs correct tag 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');
|
||||||
|
});
|
||||||
|
});
|
@ -1,10 +1,10 @@
|
|||||||
/**
|
/**
|
||||||
* Tests logging out and attempting to sign up
|
* Tests archive page routing
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*globals casper, __utils__, url, testPost, falseUser, email */
|
/*globals CasperTest, casper, __utils__, url, testPost, falseUser, email */
|
||||||
CasperTest.begin('Redirects page 1 request', 1, function suite(test) {
|
CasperTest.begin('Redirects page 1 request', 1, function suite(test) {
|
||||||
casper.thenOpen(url + 'page/1/', function then(response) {
|
casper.thenOpen(url + 'page/1/', function then(response) {
|
||||||
test.assertEqual(casper.getCurrentUrl().indexOf('page/'), -1, 'Should be redirected to "/".');
|
test.assertEqual(casper.getCurrentUrl().indexOf('page/'), -1, 'Should be redirected to "/".');
|
||||||
});
|
});
|
||||||
}, true);
|
}, true);
|
Loading…
Reference in New Issue
Block a user