cleaned up integration test flow
This commit is contained in:
parent
23d629b80b
commit
76de2b29a5
20 changed files with 123 additions and 1798 deletions
|
@ -1,13 +1,13 @@
|
|||
import DownloadPage from './pages/desktop/download_page';
|
||||
import HomePage from './pages/desktop/home_page';
|
||||
import SharePage from './pages/desktop/share_page';
|
||||
|
||||
/* global browser document */
|
||||
const assert = require('assert');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
describe('Firefox Send', () => {
|
||||
const baseUrl = browser.options['baseUrl'];
|
||||
const DownloadPage = require('./pages/desktop/download_page');
|
||||
const HomePage = require('./pages/desktop/home_page');
|
||||
const SharePage = require('./pages/desktop/share_page');
|
||||
|
||||
describe('Firefox Send', function() {
|
||||
const downloadDir =
|
||||
browser.desiredCapabilities['moz:firefoxOptions']['prefs'][
|
||||
'browser.download.dir'
|
||||
|
@ -15,7 +15,7 @@ describe('Firefox Send', () => {
|
|||
const testFilesPath = path.join(__dirname, 'fixtures');
|
||||
const testFiles = fs.readdirSync(testFilesPath);
|
||||
|
||||
beforeEach(() => {
|
||||
beforeEach(function() {
|
||||
browser.url('/');
|
||||
browser.execute(() => {
|
||||
document.getElementById('file-upload').style.display = 'block';
|
||||
|
@ -24,18 +24,18 @@ describe('Firefox Send', () => {
|
|||
});
|
||||
|
||||
testFiles.forEach(file => {
|
||||
it(`should upload and download files, file: ${file}`, () => {
|
||||
it(`should upload and download files, file: ${file}`, function() {
|
||||
browser.execute(() => {
|
||||
document.getElementById('file-upload').style.display = 'block';
|
||||
});
|
||||
browser.waitForExist('#file-upload');
|
||||
let homePage = new HomePage();
|
||||
const homePage = new HomePage();
|
||||
browser.chooseFile('#file-upload', `${testFilesPath}/${file}`);
|
||||
browser.click(homePage.readyToSend);
|
||||
let sharePage = new SharePage();
|
||||
const sharePage = new SharePage();
|
||||
browser.waitForExist(sharePage.fileUrl);
|
||||
browser.url(browser.getValue(sharePage.fileUrl));
|
||||
let downloadPage = new DownloadPage();
|
||||
const downloadPage = new DownloadPage();
|
||||
downloadPage.waitForPageToLoad();
|
||||
downloadPage.downloadBtn();
|
||||
// Wait for download to complete
|
||||
|
@ -45,7 +45,7 @@ describe('Firefox Send', () => {
|
|||
browser.getText(downloadPage.downloadComplete) === 'DOWNLOAD COMPLETE'
|
||||
);
|
||||
});
|
||||
assert.ok(fs.existsSync(`${downloadDir}/${file}`));
|
||||
assert.ok(fs.existsSync(path.join(downloadDir, file)));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import HomePage from './pages/desktop/home_page';
|
||||
|
||||
/* global browser */
|
||||
const assert = require('assert');
|
||||
const HomePage = require('./pages/desktop/home_page');
|
||||
|
||||
describe('Firefox Send homepage', () => {
|
||||
describe('Firefox Send homepage', function() {
|
||||
const baseUrl = browser.options['baseUrl'];
|
||||
const legalLinks = [
|
||||
'legal',
|
||||
|
@ -13,26 +13,24 @@ describe('Firefox Send homepage', () => {
|
|||
];
|
||||
const socialLinks = ['github', 'twitter', 'mozilla'];
|
||||
|
||||
beforeEach(() => {
|
||||
beforeEach(function() {
|
||||
browser.url('/');
|
||||
browser.pause(500);
|
||||
});
|
||||
|
||||
it('should have the right title', () => {
|
||||
chai.expect(browser.getTitle()).to.equal('Firefox Send');
|
||||
it('should have the right title', function() {
|
||||
assert.equal(browser.getTitle(), 'Firefox Send');
|
||||
});
|
||||
|
||||
legalLinks.forEach((link, i) => {
|
||||
it(`should navigate to the correct legal pages, page: ${link}`, () => {
|
||||
let homePage = new HomePage();
|
||||
it(`should navigate to the correct legal pages, page: ${link}`, function() {
|
||||
const homePage = new HomePage();
|
||||
// Click links on bottom of page
|
||||
var els = browser.elements(homePage.legalLinks);
|
||||
if (i === 0) {
|
||||
}
|
||||
const els = browser.elements(homePage.legalLinks);
|
||||
browser.elementIdClick(els.value[i].ELEMENT);
|
||||
// Wait for page to load
|
||||
browser.waitUntil(() => {
|
||||
let url = browser.getUrl();
|
||||
const url = browser.getUrl();
|
||||
return url !== baseUrl;
|
||||
});
|
||||
assert.ok(browser.getUrl().includes(link));
|
||||
|
@ -40,14 +38,14 @@ describe('Firefox Send homepage', () => {
|
|||
});
|
||||
|
||||
socialLinks.forEach((link, i) => {
|
||||
it(`should navigate to the correct social pages, page: ${link}`, () => {
|
||||
let homePage = new HomePage();
|
||||
it(`should navigate to the correct social pages, page: ${link}`, function() {
|
||||
const homePage = new HomePage();
|
||||
// Click links on bottom of page
|
||||
var els = browser.elements(homePage.socialLinks);
|
||||
const els = browser.elements(homePage.socialLinks);
|
||||
browser.elementIdClick(els.value[i].ELEMENT);
|
||||
// Wait for page to load
|
||||
browser.waitUntil(() => {
|
||||
let url = browser.getUrl();
|
||||
const url = browser.getUrl();
|
||||
return url !== baseUrl;
|
||||
});
|
||||
assert.ok(browser.getUrl().includes(link));
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import Page from './page';
|
||||
/* global browser */
|
||||
const Page = require('./page');
|
||||
|
||||
export default class DownloadPage extends Page {
|
||||
class DownloadPage extends Page {
|
||||
constructor() {
|
||||
super();
|
||||
this.downloadBtnLocator = '.btn--download';
|
||||
|
@ -15,7 +16,7 @@ export default class DownloadPage extends Page {
|
|||
waitForPageToLoad() {
|
||||
browser.waitUntil(() => {
|
||||
browser.waitForExist(this.downloadBtnLocator);
|
||||
let el = browser.element(this.downloadBtnLocator);
|
||||
const el = browser.element(this.downloadBtnLocator);
|
||||
return browser.elementIdDisplayed(el.value.ELEMENT);
|
||||
});
|
||||
return this;
|
||||
|
@ -30,3 +31,4 @@ export default class DownloadPage extends Page {
|
|||
return this.downloadCompletedLocator;
|
||||
}
|
||||
}
|
||||
module.exports = DownloadPage;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Page from './page';
|
||||
const Page = require('./page');
|
||||
|
||||
export default class HomePage extends Page {
|
||||
class HomePage extends Page {
|
||||
constructor() {
|
||||
super();
|
||||
this.legalSectionLinks = '.legalSection .legalSection__link';
|
||||
|
@ -20,3 +20,4 @@ export default class HomePage extends Page {
|
|||
return this.socialLinksLocator;
|
||||
}
|
||||
}
|
||||
module.exports = HomePage;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
export default class Page {
|
||||
/* global browser */
|
||||
class Page {
|
||||
constructor() {}
|
||||
|
||||
open(path) {
|
||||
|
@ -13,3 +14,4 @@ export default class Page {
|
|||
*/
|
||||
waitForPageToLoad() {}
|
||||
}
|
||||
module.exports = Page;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import Page from './page';
|
||||
import SharePage from './share_page';
|
||||
/* global browser */
|
||||
const Page = require('./page');
|
||||
const SharePage = require('./share_page');
|
||||
|
||||
export default class ProgressPage extends Page {
|
||||
class ProgressPage extends Page {
|
||||
constructor() {
|
||||
super();
|
||||
this.cancelBtnLocator = '.uploadCancel';
|
||||
|
@ -16,10 +17,10 @@ export default class ProgressPage extends Page {
|
|||
waitForPageToLoad() {
|
||||
browser.waitUntil(() => {
|
||||
browser.waitForExist(this.progressIconLocator);
|
||||
let el = browser.element(this.progressIconLocator);
|
||||
const el = browser.element(this.progressIconLocator);
|
||||
return browser.elementIdDisplayed(el.value.ELEMENT);
|
||||
});
|
||||
let sharePage = new SharePage();
|
||||
const sharePage = new SharePage();
|
||||
return sharePage.waitForPageToLoad();
|
||||
}
|
||||
|
||||
|
@ -27,3 +28,4 @@ export default class ProgressPage extends Page {
|
|||
return this.cancelBtnLocator;
|
||||
}
|
||||
}
|
||||
module.exports = ProgressPage;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import Page from './page';
|
||||
/* global browser */
|
||||
const Page = require('./page');
|
||||
|
||||
export default class SharePage extends Page {
|
||||
class SharePage extends Page {
|
||||
constructor() {
|
||||
super();
|
||||
this.sharePageLocator = '#shareWrapper';
|
||||
|
@ -10,7 +11,7 @@ export default class SharePage extends Page {
|
|||
waitForPageToLoad() {
|
||||
browser.waitUntil(() => {
|
||||
browser.waitForExist(this.sharePageLocator);
|
||||
let el = browser.element(this.sharePageLocator);
|
||||
const el = browser.element(this.sharePageLocator);
|
||||
return browser.elementIdDisplayed(el.value.ELEMENT);
|
||||
});
|
||||
return this;
|
||||
|
@ -20,3 +21,4 @@ export default class SharePage extends Page {
|
|||
return this.shareUrlLocator;
|
||||
}
|
||||
}
|
||||
module.exports = SharePage;
|
||||
|
|
|
@ -1,24 +1,22 @@
|
|||
import ProgressPage from './pages/desktop/progress_page';
|
||||
import HomePage from './pages/desktop/home_page';
|
||||
|
||||
/* global browser document */
|
||||
const assert = require('assert');
|
||||
const ProgressPage = require('./pages/desktop/progress_page');
|
||||
const HomePage = require('./pages/desktop/home_page');
|
||||
|
||||
describe('Firefox Send progress page', () => {
|
||||
const baseUrl = browser.options['baseUrl'];
|
||||
|
||||
beforeEach(() => {
|
||||
describe('Firefox Send progress page', function() {
|
||||
beforeEach(function() {
|
||||
browser.url('/');
|
||||
});
|
||||
|
||||
it('should show an icon while an upload is in progress', () => {
|
||||
it('should show an icon while an upload is in progress', function() {
|
||||
browser.execute(() => {
|
||||
document.getElementById('file-upload').style.display = 'block';
|
||||
});
|
||||
browser.waitForExist('#file-upload');
|
||||
let homePage = new HomePage();
|
||||
const homePage = new HomePage();
|
||||
browser.chooseFile('#file-upload', __filename);
|
||||
browser.click(homePage.readyToSend);
|
||||
let progressPage = new ProgressPage();
|
||||
const progressPage = new ProgressPage();
|
||||
assert.ok(progressPage.waitForPageToLoad());
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue