Test client using real browsers on Travis

no issue
- drop phantomjs tests both locally and on Travis
- instruct Travis to install latest Chrome and Firefox
- start an X server when running the client tests on Travis
- update testem config to start Chrome and Firefox in both local and CI tests
- fix testing preview sizing in Firefox as it doesn't support `zoom: 50%` style
- improve infinite scroll testing to be more reliable
- fix post acceptance test to handle both mobile and desktop views
This commit is contained in:
Kevin Ansfield 2016-02-07 14:26:52 +00:00
parent ac505e34f3
commit e6bbe22573
4 changed files with 23 additions and 10 deletions

View File

@ -3,10 +3,11 @@
"test_page": "tests/index.html?hidepassed",
"disable_watching": true,
"launch_in_ci": [
"PhantomJS"
"Chrome",
"Firefox"
],
"launch_in_dev": [
"PhantomJS",
"Chrome"
"Chrome",
"Firefox"
]
}

View File

@ -41,12 +41,13 @@ describe('Acceptance: Posts - Post', function() {
visit('/');
andThen(() => {
// it redirects to first post
expect(currentURL(), 'currentURL').to.equal(`/${posts[0].id}`);
expect(find('.posts-list li').first().hasClass('active'), 'highlights latest post').to.be.true;
expect(find('.posts-list li').length, 'post list count').to.equal(3);
// if we're in "desktop" size, we should redirect and highlight
if (find('.content-preview:visible').length) {
expect(currentURL(), 'currentURL').to.equal(`/${posts[0].id}`);
expect(find('.posts-list li').first().hasClass('active'), 'highlights latest post').to.be.true;
}
});
});

View File

@ -267,7 +267,9 @@ describe('Acceptance: Settings - Tags', function () {
find('.tag-list').scrollTop(find('.tag-list-content').height());
});
wait().then(() => {
triggerEvent('.tag-list', 'scroll');
andThen(() => {
// it loads the second page
expect(find('.settings-tags .settings-tag').length, 'tag list count on second load')
.to.equal(30);
@ -275,7 +277,9 @@ describe('Acceptance: Settings - Tags', function () {
find('.tag-list').scrollTop(find('.tag-list-content').height());
});
wait().then(() => {
triggerEvent('.tag-list', 'scroll');
andThen(() => {
// it loads the final page
expect(find('.settings-tags .settings-tag').length, 'tag list count on third load')
.to.equal(32);

View File

@ -33,6 +33,13 @@
#ember-testing > div {
height: 100%;
}
/* fix firefox not supporting `zoom: 50%` */
_::-moz-range-track, body:last-child #ember-testing {
-moz-transform-origin: 0 0;
-moz-transform: scale(0.5);
width: 200%;
height: 200%;
}
</style>
</head>
<body>