diff --git a/HubWeb.csproj b/HubWeb.csproj
index c2e4eef9ad..8a0dd356df 100644
--- a/HubWeb.csproj
+++ b/HubWeb.csproj
@@ -720,7 +720,10 @@
+
+
+
diff --git a/Scripts/tests/e2e/authorizationPathways/docusign.spec.js b/Scripts/tests/e2e/authorizationPathways/docusign.spec.js
new file mode 100644
index 0000000000..d7e2e437d1
--- /dev/null
+++ b/Scripts/tests/e2e/authorizationPathways/docusign.spec.js
@@ -0,0 +1,59 @@
+var PlansPage = require('../pages/plans.page.js');
+var ManageAuthTokens = require('../shared/manageAuthTokens.js');
+var AccountHelper = require('../shared/accountHelper.js');
+var MyAccountPage = require('../pages/myAccount.page.js');
+var UIHelpers = require('../shared/uiHelpers.js');
+var RegistrationPage = require('../pages/registration.page.js');
+
+describe('DocuSign Authorization pathway test', function () {
+ var plansPage = new PlansPage();
+ var manageAuthTokens = new ManageAuthTokens();
+ var accountHelper = new AccountHelper();
+ var myAccountPage = new MyAccountPage();
+ var uiHelpers = new UIHelpers();
+
+ it('should login', function () {
+ return accountHelper.login().then(function () {
+ plansPage.setEmail(browser.params.username);
+ plansPage.setPassword(browser.params.password);
+ return plansPage.login().click().then(function () {
+ });
+ });
+ });
+
+ //it('should control and remove tokens', function () {
+ // return browser.driver.get(browser.baseUrl + '/dashboard/manageAuthTokens').then(function () {
+ // expect(element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div/div[1]/div[1]/div/div/div/div[1]/div[2]/table/thead/tr/th[1]')));
+ // return manageAuthTokens.revokeAuthTokens();
+ // });
+ //});
+
+ it('should go to myAccount page', function () {
+ return myAccountPage.get();
+ expect(browser.getCurrentUrl()).toEqual('http://dev.fr8.co/dashboard/myaccount');
+ });
+
+ it('should add plan', function () {
+ return plansPage.addPlan().then(function () {
+ return plansPage.addActivity();
+ });
+ });
+
+ it('should add DocuSign Monitor activity', function () {
+ return plansPage.addDocuSignActivity().then(function () {
+ return plansPage.getDocuSignActivity();
+ });
+ });
+
+ describe('should logout', function () {
+
+ var registrationPage = new RegistrationPage();
+
+ it('should logout', function () {
+ return accountHelper.logout().then(function () {
+ expect(browser.getCurrentUrl()).toContain('/DockyardAccount');
+ });
+ });
+ });
+
+});
\ No newline at end of file
diff --git a/Scripts/tests/e2e/authorizationPathways/google.spec.js b/Scripts/tests/e2e/authorizationPathways/google.spec.js
index c9ca25ab51..ad062e30db 100644
--- a/Scripts/tests/e2e/authorizationPathways/google.spec.js
+++ b/Scripts/tests/e2e/authorizationPathways/google.spec.js
@@ -3,6 +3,7 @@ var ManageAuthTokens = require('../shared/manageAuthTokens.js');
var AccountHelper = require('../shared/accountHelper.js');
var MyAccountPage = require('../pages/myAccount.page.js');
var UIHelpers = require('../shared/uiHelpers.js');
+var RegistrationPage = require('../pages/registration.page.js');
describe('Google Authorization pathway test', function () {
var plansPage = new PlansPage();
@@ -20,6 +21,13 @@ describe('Google Authorization pathway test', function () {
});
});
+ it('should control and remove tokens', function () {
+ return browser.driver.get(browser.baseUrl + '/dashboard/manageAuthTokens').then(function () {
+ expect(element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div/div[1]/div[1]/div/div/div/div[1]/div[2]/table/thead/tr/th[1]')));
+ return manageAuthTokens.revokeAuthTokens();
+ });
+ });
+
it('should go to myAccount page', function () {
return myAccountPage.get();
expect(browser.getCurrentUrl()).toEqual('http://dev.fr8.co/dashboard/myaccount');
@@ -37,4 +45,28 @@ describe('Google Authorization pathway test', function () {
});
});
+ //it('should add account', function () {
+ // //var elm = element(by.className('.auth-link-account'));
+ // //return uiHelpers.waitReady(elm).then(function () {
+ // // googlePage.addAccount().then(function () {
+ // // return googlePage.getAllow();
+ // // });
+ // //});
+
+ // return plansPage.addAccount().then(function () {
+ // return plansPage.getAllow();
+ // });
+ //});
+
+ describe('should logout', function () {
+
+ var registrationPage = new RegistrationPage();
+
+ it('should logout', function () {
+ return accountHelper.logout().then(function () {
+ expect(browser.getCurrentUrl()).toContain('/DockyardAccount');
+ });
+ });
+ });
+
});
\ No newline at end of file
diff --git a/Scripts/tests/e2e/authorizationPathways/salesforce.spec.js b/Scripts/tests/e2e/authorizationPathways/salesforce.spec.js
new file mode 100644
index 0000000000..d6003eb5d2
--- /dev/null
+++ b/Scripts/tests/e2e/authorizationPathways/salesforce.spec.js
@@ -0,0 +1,59 @@
+var PlansPage = require('../pages/plans.page.js');
+var ManageAuthTokens = require('../shared/manageAuthTokens.js');
+var AccountHelper = require('../shared/accountHelper.js');
+var MyAccountPage = require('../pages/myAccount.page.js');
+var UIHelpers = require('../shared/uiHelpers.js');
+var RegistrationPage = require('../pages/registration.page.js');
+
+describe('SalesForce Authorization pathway test', function () {
+ var plansPage = new PlansPage();
+ var manageAuthTokens = new ManageAuthTokens();
+ var accountHelper = new AccountHelper();
+ var myAccountPage = new MyAccountPage();
+ var uiHelpers = new UIHelpers();
+
+ it('should login', function () {
+ return accountHelper.login().then(function () {
+ plansPage.setEmail(browser.params.username);
+ plansPage.setPassword(browser.params.password);
+ return plansPage.login().click().then(function () {
+ });
+ });
+ });
+
+ //it('should control and remove tokens', function () {
+ // return browser.driver.get(browser.baseUrl + '/dashboard/manageAuthTokens').then(function () {
+ // expect(element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div/div[1]/div[1]/div/div/div/div[1]/div[2]/table/thead/tr/th[1]')));
+ // return manageAuthTokens.revokeAuthTokens();
+ // });
+ //});
+
+ it('should go to myAccount page', function () {
+ return myAccountPage.get();
+ expect(browser.getCurrentUrl()).toEqual('http://dev.fr8.co/dashboard/myaccount');
+ });
+
+ it('should add plan', function () {
+ return plansPage.addPlan().then(function () {
+ return plansPage.addActivity();
+ });
+ });
+
+ it('should add salesForce get data activity', function () {
+ return plansPage.addSalesForceActivity().then(function () {
+ return plansPage.getSalesForceGetDataActivity();
+ });
+ });
+
+ describe('should logout', function () {
+
+ var registrationPage = new RegistrationPage();
+
+ it('should logout', function () {
+ return accountHelper.logout().then(function () {
+ expect(browser.getCurrentUrl()).toContain('/DockyardAccount');
+ });
+ });
+ });
+
+});
\ No newline at end of file
diff --git a/Scripts/tests/e2e/authorizationPathways/slack.spec.js b/Scripts/tests/e2e/authorizationPathways/slack.spec.js
new file mode 100644
index 0000000000..ffe3d4a3ff
--- /dev/null
+++ b/Scripts/tests/e2e/authorizationPathways/slack.spec.js
@@ -0,0 +1,58 @@
+var PlansPage = require('../pages/plans.page.js');
+var ManageAuthTokens = require('../shared/manageAuthTokens.js');
+var AccountHelper = require('../shared/accountHelper.js');
+var MyAccountPage = require('../pages/myAccount.page.js');
+var UIHelpers = require('../shared/uiHelpers.js');
+var RegistrationPage = require('../pages/registration.page.js');
+
+describe('Slack Authorization pathway test', function () {
+ var plansPage = new PlansPage();
+ var manageAuthTokens = new ManageAuthTokens();
+ var accountHelper = new AccountHelper();
+ var myAccountPage = new MyAccountPage();
+ var uiHelpers = new UIHelpers();
+
+ it('should login', function () {
+ return accountHelper.login().then(function () {
+ plansPage.setEmail(browser.params.username);
+ plansPage.setPassword(browser.params.password);
+ return plansPage.login().click().then(function () {
+ });
+ });
+ });
+
+ //it('should control and remove tokens', function () {
+ // return browser.driver.get(browser.baseUrl + '/dashboard/manageAuthTokens').then(function () {
+ // expect(element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div/div[1]/div[1]/div/div/div/div[1]/div[2]/table/thead/tr/th[1]')));
+ // return manageAuthTokens.revokeAuthTokens();
+ // });
+ //});
+
+ it('should go to myAccount page', function () {
+ return myAccountPage.get();
+ expect(browser.getCurrentUrl()).toEqual('http://dev.fr8.co/dashboard/myaccount');
+ });
+
+ it('should add plan', function () {
+ return plansPage.addPlan().then(function () {
+ return plansPage.addActivity();
+ });
+ });
+
+ it('should add Slack activity', function () {
+ return plansPage.addSlackActivity().then(function () {
+ return plansPage.getSlackMonitorActivity();
+ });
+ });
+
+ describe('should logout', function () {
+
+ var registrationPage = new RegistrationPage();
+
+ it('should logout', function () {
+ return accountHelper.logout().then(function () {
+ expect(browser.getCurrentUrl()).toContain('/DockyardAccount');
+ });
+ });
+ });
+});
\ No newline at end of file
diff --git a/Scripts/tests/e2e/conf.js b/Scripts/tests/e2e/conf.js
index 0cc18823bf..326a82ef6b 100644
--- a/Scripts/tests/e2e/conf.js
+++ b/Scripts/tests/e2e/conf.js
@@ -15,16 +15,16 @@
'phantomjs.ghostdriver.cli.args': ['--loglevel=DEBUG']
},
framework: 'jasmine',
- specs: ['**/*.spec.js'],
+ specs: ['**/registration.spec.js',
+ '**/*.spec.js'
+ ],
jasmineNodeOpts: {
defaultTimeoutInterval: 50000
},
baseUrl: 'http://dev.fr8.co',
params: {
username: '',
- password: '',
- registerUsername: '',
- registerPassword: '',
+ password: ''
}
};
diff --git a/Scripts/tests/e2e/pages/plans.page.js b/Scripts/tests/e2e/pages/plans.page.js
index dbd2c9b6e8..ce7d3d851e 100644
--- a/Scripts/tests/e2e/pages/plans.page.js
+++ b/Scripts/tests/e2e/pages/plans.page.js
@@ -2,24 +2,45 @@
var PlansPage = function () {
- //Login Properties
+ //Remove Token Properties
+ var manageAuthTokensButton = element(by.xpath('/html/body/div[1]/div/div[2]/div[2]/div/div/ul/li[5]/ul/li[1]/a'));
+
+ /* Login Properties */
var emailInput = element(by.id('Email'));
var passwordInput = element(by.id('Password'));
var loginButton = element(by.xpath('//*[@id="loginform"]/form/div[2]/div/div/button'));
- //Add Google Activity Properties
+ /* General Properties */
+ var uiHelpers = new UIHelpers();
var addPlanButton = element(by.xpath('//*[@id="Myfr8lines"]/h3/a'));
var addActivityButton = element(by.className('action-add-button-link'));
- var googleActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/div[13]/div[1]/img'));
+ //var addAccountButton = element(by.className('.auth-link-account'));
+
+ /* Add Google Activity Properties */
+ var googleActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/div[11]/div[1]/img'));
var googleSheetActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/ul/li[1]/a/span'));
- var uiHelpers = new UIHelpers();
+ /* SalesForce Activity Properties */
+ var salesForceActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/div[15]/div[1]/img'));
+ var salesForceGetDataActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/ul/li[1]/a/span'));
+
+ /*DocuSign Activity Properties */
+ var docuSignActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/div[6]/div[1]/img'));
+ var docuSignMonitorActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/ul/li[1]/a/span'));
+
+ /* Slack Activity Properties */
+ var slackActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/div[17]/div[1]/img'));
+ var slackMonitorActivityButton = element(by.xpath('/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[1]/div[1]/action-picker-panel/div/div[2]/div/ul/li[1]/a/span'));
this.get = function () {
browser.ignoreSynchronization = true;
browser.get(browser.baseUrl + '/dashboard/myaccount');
};
+ this.manageAuthTokens = function () {
+ return manageAuthTokensButton.click();
+ };
+
this.setEmail = function (email) {
emailInput.sendKeys(email);
};
@@ -56,5 +77,52 @@ var PlansPage = function () {
});
};
+ //this.addAccount = function () {
+ // //return browser.wait(EC.visibilityOf((googlePage.addAccountButton)), 5000).then(function () {
+ // //});
+ // //return browser.wait(element(by.cssContainingText('.auth-link-account'))).then(function () {
+ // // return addAccountButton.click();
+ // //});
+
+ // return uiHelpers.waitReady(addAccountButton).then(function () {
+ // return addAccountButton.click();
+ // });
+ //};
+
+ this.addSalesForceActivity = function () {
+ return uiHelpers.waitReady(salesForceActivityButton).then(function () {
+ return salesForceActivityButton.click();
+ });
+ };
+
+ this.getSalesForceGetDataActivity = function () {
+ return uiHelpers.waitReady(salesForceGetDataActivityButton).then(function () {
+ return salesForceGetDataActivityButton.click();
+ });
+ };
+
+ this.addDocuSignActivity = function () {
+ return uiHelpers.waitReady(docuSignActivityButton).then(function () {
+ return docuSignActivityButton.click();
+ });
+ };
+
+ this.getDocuSignActivity = function () {
+ return uiHelpers.waitReady(docuSignMonitorActivityButton).then(function () {
+ return docuSignMonitorActivityButton.click();
+ });
+ };
+
+ this.addSlackActivity = function () {
+ return uiHelpers.waitReady(slackActivityButton).then(function () {
+ return slackActivityButton.click();
+ });
+ };
+
+ this.getSlackMonitorActivity = function () {
+ return uiHelpers.waitReady(slackMonitorActivityButton).then(function () {
+ return slackMonitorActivityButton.click();
+ });
+ };
};
module.exports = PlansPage;
\ No newline at end of file
diff --git a/Scripts/tests/e2e/registration/registration.spec.js b/Scripts/tests/e2e/registration/registration.spec.js
index 821d58cf0a..984943487d 100644
--- a/Scripts/tests/e2e/registration/registration.spec.js
+++ b/Scripts/tests/e2e/registration/registration.spec.js
@@ -12,9 +12,9 @@ describe('registration page tests', function () {
it('should register', function () {
return accountHelper.register().then(function () {
- registrationPage.setEmail(browser.params.registerUsername);
- registrationPage.setPassword(browser.params.registerPassword);
- registrationPage.setConfirmPassword(browser.params.registerPassword);
+ registrationPage.setEmail(browser.params.username);
+ registrationPage.setPassword(browser.params.password);
+ registrationPage.setConfirmPassword(browser.params.password);
registrationPage.setOrganization();
return registrationPage.register().click().then(function () {
expect(browser.getCurrentUrl()).toContain('/Welcome');
diff --git a/_PowerShellScripts/Run-ProtractorTests.ps1 b/_PowerShellScripts/Run-ProtractorTests.ps1
index 593472d051..834bd2cf31 100644
--- a/_PowerShellScripts/Run-ProtractorTests.ps1
+++ b/_PowerShellScripts/Run-ProtractorTests.ps1
@@ -6,20 +6,14 @@ param(
[string]$username,
[Parameter(Mandatory = $true)]
- [string]$password,
-
- [Parameter(Mandatory = $true)]
- [string]$registerUsername,
-
- [Parameter(Mandatory = $true)]
- [string]$registerPassword
+ [string]$password
)
Write-Host 'Using endpoint -> ' $endPoint
$RootDir = Split-Path -parent $PSCommandPath
$projectDirectory = (get-item $RootDir ).parent.FullName
$GulpProtractorCmd = "$projectDirectory\node_modules\.bin\gulp.cmd"
-$arguments = "e2etests --baseUrl $endPoint --username $username --password $password --registerUsername $registerUsername --registerPassword $registerPassword"
+$arguments = "e2etests --baseUrl $endPoint --username $username --password $password"
Write-Host $GulpProtractorCmd $arguments
$process = Start-Process $GulpProtractorCmd $arguments -NoNewWindow -Wait -PassThru
Exit $process.ExitCode
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index 339a740ab0..69e40f79ea 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -436,8 +436,7 @@ gulp.task('update-web-driver', function (done) {
gulp.task('protractor-run', function (done) {
gutil.log('Using base url: ' + argv.baseUrl);
gutil.log('Testing with user: ' + argv.username);
- var result = child_process.spawnSync(getProtractorBinary('protractor'), ['--baseUrl=' + argv.baseUrl, '--params.username=' + argv.username, '--params.password=' + argv.password,
- '--params.registerUsername=' + argv.registerUsername, '--params.registerPassword=' + argv.registerPassword, 'Scripts\\tests\\e2e\\conf.js'], {
+ var result = child_process.spawnSync(getProtractorBinary('protractor'), ['--baseUrl=' + argv.baseUrl, '--params.username=' + argv.username, '--params.password=' + argv.password, 'Scripts\\tests\\e2e\\conf.js'], {
stdio: 'inherit'
});