Added userProfile script

This commit is contained in:
2020-11-12 12:21:54 -08:00
parent bfddd81fbe
commit 9ead4d157f
2 changed files with 534 additions and 0 deletions

498
userProfile_spec.js Normal file
View File

@@ -0,0 +1,498 @@
//userProfile_spec.js
describe('User Profile script', function () {
//login-journeysmap landing page
var UserNameTextBox = element(by.css('#txtU'));
var PasswordTextBox = element(by.css('#txtP'));
//Open browser
browser.get(browser.params.login);
it('should have a title', async function () {
await expect(browser.getTitle()).toEqual('Login');
});
//Sign In
SignIn(UserNameTextBox, PasswordTextBox);
it('should have a title', async function () {
await expect(browser.getTitle()).toEqual('My Dashboard');
});
function SignIn(UserNameTextBox, PasswordTextBox) {
it('should sign into journeysmap.com', async function () {
var PageGreetingText = element(by.css('td > div > div:nth-child(1)'));
var NextButton = element(by.css('.btn'));
var JourneysGreeting = element(by.css('.dropdown'));
expect(await PageGreetingText.getText()).toEqual('Login and start exploring.').then(function() {
browser.sleep(2500);
});
await UserNameTextBox.sendKeys(browser.params.username).then(function() {
browser.sleep(2500);
});
await PasswordTextBox.sendKeys('3Dm!nAuto').then(function() {
browser.sleep(2500);
});
await NextButton.click().then(function() {
browser.sleep(5000);
browser.waitForAngular();
browser.getCurrentUrl();
});
expect(await JourneysGreeting.getText()).toContain('Hi, ');
expect(await JourneysGreeting.getText()).toContain('_Automated');
browser.waitForAngular();
browser.getCurrentUrl();
});
}
UserProfile();
SignOut();
//LogBackInToResetTestCase(); //CAN'T GET SCRIPT TO SUCCESSFULLY SAVE EDIT PROFILE RESET
});
function UserProfile() {
it(': UserProfile, Should interact with the Account Information page', async function () {
var ProfileImage = element(by.css('.roundCenterBackgroundImage'));
var ProfileLink = element(by.linkText('Profile'));
//Account Information Page
var PageTitle = element(by.css('#title'));
//Personal Information block
var PersonalInformationTitle = element(by.css('div > .col-12 > h4'));
var AccountInformationGreeting = element(by.css('.navbar-nav:nth-child(2) > .nav-item:nth-child(1)'));
var UserNameText = element(by.css('h5'));
var UserEmailHeader = element(by.css('.col-lg-4 .col-3'));
var UserEmailText = element(by.css('.col-lg-4 .col-7'));
var UserRoleHeader = element(by.css('.col-12:nth-child(3) > .row > .col-3'));
var UserRoleText = element(by.css('.col-12:nth-child(3) > .row > .col-7'));
var UserBirthDateHeader = element(by.css('.col-12:nth-child(4) .col-3'));
var UserBirthDateText = element(by.css('.col-12:nth-child(4) .col-7'));
var UserZipCodeHeader = element(by.css('.col-lg-2 .col-3'));
var UserZipCodeText = element(by.css('.col-lg-2 .col-7'));
//My Connection block
var MyConnectionTitleRow = element(by.css('.ng-untouched h4'));
var ConnectionCodeHeader = element(by.css('.text-muted:nth-child(1)'));
var ConnectionCodeText = element(by.name('newConnectionCode'));
var ConnectionCodeButton = element(by.css('.col-md-3 > .btn'));
//Edit Profile
var EditProfileTile = element(by.css('.col-md-3:nth-child(1) tr:nth-child(1) > td'));
var DIVTitle = element(by.css('.ng-star-inserted .bg-secondary'));
var FirstNameHeader = element(by.css('.col-12:nth-child(1) .col-4'));
var FirstNameTextBox = element(by.name('FirstName'));
var MiddleInitialHeader = element(by.css('.col-12:nth-child(2) > .row > .col-4'));
var MiddleInitialTextBox = element(by.name('MI'));
var LastNameHeader = element(by.css('.col-12:nth-child(3) .col-4'));
var LastNameTextBox = element(by.name('LastName'));
var EmailHeader = element(by.css('.col-12:nth-child(4) .col-4'));
var EmailTextBox = element(by.name('Email'));
var BirthDateHeader = element(by.css('.col-12:nth-child(5) .col-4'));
var BirthDateTextBox = element(by.name('BirthDate'));
var ZipCodeHeader = element(by.css('.col-12:nth-child(6) .col-4'));
var ZipCodeTextBox = element(by.name('ZipCode'));
var RoleHeader = element(by.css('.col-12:nth-child(7) .col-4'));
var RoleTextBox = element(by.name('Role'));
var UsernameHeader = element(by.css('.col-12:nth-child(8) .col-4'));
var UsernameTextBox = element(by.name('UserName'));
var CancelButton = element(by.css('.btn-outline-primary'));
var SaveButton = element(by.css('.btn:nth-child(2)'));
//Chage Password
var ChangePasswordTile = element(by.css('.col-md-3:nth-child(2) tr:nth-child(1) > td'));
var EnterCurrentPasswordHeader = element(by.css('.col-lg-8 > div:nth-child(1) > .text-muted'));
var EnterCurrentPasswordTextBox = element(by.name('CurrentPassword'));
var EnterNewPasswordHeader = element(by.css('div:nth-child(2) > .text-muted'));
var EnterNewPasswordTextBox = element(by.name('NewPassword1'));
var ReenterNewPasswordHeader = element(by.css('div:nth-child(3) > .text-muted'));
var ReenterNewPasswordTextBox = element(by.name('NewPassword2'));
//My Connections
var MyConnectionTile = element(by.css('.col-md-3:nth-child(3) tr:nth-child(1) > td'));
var ConnectionCodeDIVHeader = element(by.css('th:nth-child(1)'));
var ConnectionCodeDIVText = element(by.css('.ng-star-inserted > td:nth-child(1)'));
var ConnectionTypeHeader = element(by.css('th:nth-child(2)'));
var ConnectionTypeText = element(by.css('td:nth-child(2)'));
var NameHeader = element(by.css('th:nth-child(3)'));
var NameText = element(by.css('td:nth-child(3)'));
var OrganizationHeader = element(by.css('th:nth-child(4)'));
var OrganizationText = element(by.css('td:nth-child(4)'));
var JoinDateHeader = element(by.css('th:nth-child(5)'));
var JoinDateText = element(by.css('td:nth-child(5)'));
var ExitDateHeader = element(by.css('th:nth-child(6)'));
var ExitDateText = element(by.css('td:nth-child(6)'));
var CloseButton = element(by.css('.ng-star-inserted .btn'));
//Edit Security Question
var EditSecurityQuestionTile = element(by.css('.col-md-3:nth-child(4) tr:nth-child(1) > td'));
var SelectASecurityQuestionHeader = element(by.css('.col-lg-8 > div:nth-child(1) > .text-muted'));
var AnswerSecurityQuestionHeader = element(by.css('div:nth-child(2) > .text-muted'));
var AnswerSecurityAnswerTextBox = element(by.name('Answer'));
var BackToDashboardLink = element(by.linkText('BACK TO DASHBOARD'));
await ProfileImage.click().then(function() {
browser.sleep(1500);
});
browser.actions().mouseMove(ProfileLink).perform().then(function() {
browser.sleep(1500);
});
await ProfileLink.click().then(function() {
browser.sleep(5000);
});
browser.waitForAngularEnabled(false);
browser.get(browser.params.nonAngularURL);
//Account Information Page
expect(await PageTitle.getText()).toEqual('Account Information');
//Personal Information block
expect(await PersonalInformationTitle.getText()).toEqual('Personal Information');
await AccountInformationGreeting.getText().then(async function(actualText) {
if(actualText.indexOf('Qa_Automated') !== -1) {
expect(await UserNameText.getText()).toEqual('Qa_Automated Regression');
} else {
expect(await UserNameText.getText()).toEqual('Prod_Automated Regression');
}
});
expect(await UserEmailHeader.getText()).toEqual('Email');
expect(await UserEmailText.getText()).toEqual('');
expect(await UserRoleHeader.getText()).toEqual('Role');
expect(await UserRoleText.getText()).toEqual('Student');
expect(await UserBirthDateHeader.getText()).toEqual('Birthdate');
expect(await UserBirthDateText.getText()).toEqual('2000-02-15');
expect(await UserZipCodeHeader.getText()).toEqual('Zip Code');
expect(await UserZipCodeText.getText()).toEqual('92123');
//My Connection block
expect(await MyConnectionTitleRow.getText()).toEqual('Make Connection');
expect(await ConnectionCodeHeader.getText()).toEqual('Connection Code');
await ConnectionCodeText.sendKeys('0W3SNBQ7').then(function() {
browser.sleep(1500);
});
await ConnectionCodeButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toContain('Fail to connect.');
expect(alertDialog.getText()).toContain('Class not found');
browser.switchTo().alert().accept();
});
//Edit Profile
expect(await EditProfileTile.getText()).toContain('EDIT');
expect(await EditProfileTile.getText()).toContain('PROFILE');
await EditProfileTile.click().then(function() {
browser.sleep(2500);
});
expect(await DIVTitle.getText()).toEqual('Edit Personal Information');
expect(await FirstNameHeader.getText()).toEqual('First Name');
await AccountInformationGreeting.getText().then(async function(actualText) {
if(actualText.indexOf('Qa_Automated') !== -1) {
expect(await FirstNameTextBox.getAttribute('value')).toEqual('Qa_Automated');
} else {
expect(await FirstNameTextBox.getAttribute('value')).toEqual('Prod_Automated');
}
});
expect(await MiddleInitialHeader.getText()).toEqual('Middle Initial');
expect(await MiddleInitialTextBox.getAttribute('value')).toEqual('');
expect(await LastNameHeader.getText()).toEqual('Last Name');
expect(await LastNameTextBox.getAttribute('value')).toEqual('Regression');
expect(await EmailHeader.getText()).toEqual('Email');
expect(await EmailTextBox.getAttribute('value')).toEqual('');
expect(await BirthDateHeader.getText()).toEqual('Birthdate');
expect(await BirthDateTextBox.getAttribute('value')).toEqual('2000-02-15');
expect(await ZipCodeHeader.getText()).toEqual('Zip Code');
expect(await ZipCodeTextBox.getAttribute('value')).toEqual('92123');
expect(await RoleHeader.getText()).toEqual('Role');
expect(await RoleTextBox.getAttribute('value')).toEqual('Student');
expect(await UsernameHeader.getText()).toEqual('Username');
await AccountInformationGreeting.getText().then(async function(actualText) {
if(actualText.indexOf('Qa_Automated') !== -1) {
expect(await UsernameTextBox.getAttribute('value')).toEqual('QA_AutomatedRegression');
} else {
expect(await UsernameTextBox.getAttribute('value')).toEqual('PROD_AutomatedRegression');
}
});
expect(await CancelButton.getText()).toEqual('CANCEL');
expect(await SaveButton.getText()).toEqual('SAVE');
await MiddleInitialTextBox.sendKeys('G').then(function() {
browser.sleep(1500);
});
await EmailTextBox.sendKeys('AutomatedRegression@edmin.com').then(function() {
browser.sleep(1500);
});
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Personal information is updated.');
browser.switchTo().alert().accept();
browser.sleep(2500);
});
expect(await PersonalInformationTitle.getText()).toEqual('Personal Information');
await AccountInformationGreeting.getText().then(async function(actualText) {
if(actualText.indexOf('Qa_Automated') !== -1) {
expect(await UserNameText.getText()).toEqual('Qa_Automated G. Regression');
} else {
expect(await UserNameText.getText()).toEqual('Prod_Automated G. Regression');
}
});
expect(await UserEmailHeader.getText()).toEqual('Email');
expect(await UserEmailText.getText()).toEqual('AutomatedRegression@edmin.com');
expect(await UserRoleHeader.getText()).toEqual('Role');
expect(await UserRoleText.getText()).toEqual('Student');
expect(await UserBirthDateHeader.getText()).toEqual('Birthdate');
expect(await UserBirthDateText.getText()).toEqual('2000-02-15');
expect(await UserZipCodeHeader.getText()).toEqual('Zip Code');
expect(await UserZipCodeText.getText()).toEqual('92123');
//Change Password
expect(await ChangePasswordTile.getText()).toContain('CHANGE');
expect(await ChangePasswordTile.getText()).toContain('PASSWORD');
await ChangePasswordTile.click().then(function() {
browser.sleep(2500);
});
expect(await DIVTitle.getText()).toEqual('Change Password');
expect(await EnterCurrentPasswordHeader.getText()).toEqual('Enter Current Password');
await EnterCurrentPasswordTextBox.sendKeys('EDminAuto').then(function() {
browser.sleep(1500);
});
expect(await EnterNewPasswordHeader.getText()).toEqual('Enter New Password');
await EnterNewPasswordTextBox.sendKeys('edmin123').then(function() {
browser.sleep(1500);
});
expect(await ReenterNewPasswordHeader.getText()).toEqual('Reenter New Password');
await ReenterNewPasswordTextBox.sendKeys('edmin123').then(function() {
browser.sleep(1500);
});
expect(await CancelButton.getText()).toEqual('CANCEL');
expect(await SaveButton.getText()).toEqual('SAVE');
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toContain('Your old password was incorrect. Try again.');
expect(alertDialog.getText()).toContain('Fail to update authentication.');
expect(alertDialog.getText()).toContain('Current password is incorrrect');
browser.switchTo().alert().accept();
});
await EnterCurrentPasswordTextBox.clear().then(function() {
browser.sleep(1500);
});
await EnterCurrentPasswordTextBox.sendKeys('3Dm!nAuto').then(function() {
browser.sleep(1500);
});
await EnterNewPasswordTextBox.clear().then(function() {
browser.sleep(1500);
});
await EnterNewPasswordTextBox.sendKeys('EDmin123').then(function() {
browser.sleep(1500);
});
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toContain('New Password failed.');
expect(alertDialog.getText()).toContain('Please provide Current Password and ensure New Passwords fields match.');
browser.switchTo().alert().accept();
});
await EnterNewPasswordTextBox.clear().then(function() {
browser.sleep(1500);
});
await EnterNewPasswordTextBox.sendKeys('edmin123').then(function() {
browser.sleep(1500);
});
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Password change saved.');
browser.switchTo().alert().accept();
});
//My Connections
expect(await MyConnectionTile.getText()).toContain('MY');
expect(await MyConnectionTile.getText()).toContain('CONNECTIONS');
await MyConnectionTile.click().then(function() {
browser.sleep(2500);
});
expect(await DIVTitle.getText()).toEqual('My Connections');
expect(await ConnectionCodeDIVHeader.getText()).toContain('CONNECTION');
expect(await ConnectionCodeDIVHeader.getText()).toContain('CODE');
expect(await ConnectionCodeDIVText.getText()).toEqual('QYS2VMLJ');
expect(await ConnectionTypeHeader.getText()).toContain('CONNECTION');
expect(await ConnectionTypeHeader.getText()).toContain('TYPE');
expect(await ConnectionTypeText.getText()).toEqual('Class');
expect(await NameHeader.getText()).toEqual('NAME');
expect(await NameText.getText()).toEqual('Connection P-1');
expect(await OrganizationHeader.getText()).toEqual('ORGANIZATION');
expect(await OrganizationText.getText()).toEqual('Art Of Eight');
expect(await JoinDateHeader.getText()).toEqual('JOIN DATE');
expect(await JoinDateText.getText()).toEqual('2019-05-29');
expect(await ExitDateHeader.getText()).toEqual('EXIT DATE');
expect(await ExitDateText.getText()).toEqual('');
expect(await CloseButton.getText()).toEqual('CLOSE');
await CloseButton.click().then(function() {
browser.sleep(2500);
});
//Edit Security Question
expect(await EditSecurityQuestionTile.getText()).toContain('EDIT');
expect(await EditSecurityQuestionTile.getText()).toContain('SECURITY');
expect(await EditSecurityQuestionTile.getText()).toContain('QUESTION');
await EditSecurityQuestionTile.click().then(function() {
browser.sleep(2500);
});
expect(await SelectASecurityQuestionHeader.getText()).toContain('Select a Security Question');
element(by.cssContainingText('option', 'What was the make of your first car?')).click().then(function() {
browser.sleep(1000);
});
expect(await AnswerSecurityQuestionHeader.getText()).toContain('Answer Security Question');
await AnswerSecurityAnswerTextBox.sendKeys('Chevy Luv').then(function() {
browser.sleep(1500);
});
expect(await CancelButton.getText()).toContain('CANCEL');
expect(await SaveButton.getText()).toContain('SAVE');
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Security questions is updated.');
browser.switchTo().alert().accept();
});
//<<<<RESET>>>>
//Password
await ChangePasswordTile.click().then(function() {
browser.sleep(2500);
});
await EnterCurrentPasswordTextBox.sendKeys('edmin123').then(function() {
browser.sleep(1500);
});
await EnterNewPasswordTextBox.sendKeys('3Dm!nAuto').then(function() {
browser.sleep(1500);
});
await ReenterNewPasswordTextBox.sendKeys('3Dm!nAuto').then(function() {
browser.sleep(1500);
});
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Password change saved.');
browser.switchTo().alert().accept();
});
//Back to Dashboard
expect(await BackToDashboardLink.getText()).toContain('BACK TO DASHBOARD');
await BackToDashboardLink.click().then(function() {
browser.sleep(2500);
});
});
}
function SignOut() {
it(': SignOut, should log out of journeysmap', async function () {
var ProfileImage = element(by.css('.roundCenterBackgroundImage'));
var SignOutButton = element(by.css('.dropDownFAEdits:nth-child(5) > .btn'));
browser.waitForAngular().then(function() {
browser.sleep(1000);
});
await ProfileImage.click().then(function() {
browser.sleep(1000);
browser.waitForAngular();
browser.getCurrentUrl();
});
await SignOutButton.click().then(function() {
browser.sleep(2500);
});
});
}
//Back to Edit Profile to remove Email and MI (script issue)
function LogBackInToResetTestCase() {
it('should sign back into journeysmap.com and reset profile email & middle initial', async function () {
var PageGreetingText = element(by.css('td > div > div:nth-child(1)'));
var UserNameTextBox = element(by.css('#txtU'));
var PasswordTextBox = element(by.css('#txtP'));
var NextButton = element(by.css('.btn'));
var ProfileImage = element(by.css('.roundCenterBackgroundImage'));
var ProfileLink = element(by.linkText('Profile'));
//Account Information Page
var PageTitle = element(by.css('#title'));
//Personal Information block
var PersonalInformationTitle = element(by.css('div > .col-12 > h4'));
var AccountInformationGreeting = element(by.css('.navbar-nav:nth-child(2) > .nav-item:nth-child(1)'));
var UserNameText = element(by.css('h5'));
var UserEmailHeader = element(by.css('.col-lg-4 .col-3'));
var UserEmailText = element(by.css('.col-lg-4 .col-7'));
var UserRoleHeader = element(by.css('.col-12:nth-child(3) > .row > .col-3'));
var UserRoleText = element(by.css('.col-12:nth-child(3) > .row > .col-7'));
var UserBirthDateHeader = element(by.css('.col-12:nth-child(4) .col-3'));
var UserBirthDateText = element(by.css('.col-12:nth-child(4) .col-7'));
var UserZipCodeHeader = element(by.css('.col-lg-2 .col-3'));
var UserZipCodeText = element(by.css('.col-lg-2 .col-7'));
//Edit Profile
var EditProfileTile = element(by.css('.col-md-3:nth-child(1) tr:nth-child(1) > td'));
var MiddleInitialHeader = element(by.css('.col-12:nth-child(2) > .row > .col-4'));
var MiddleInitialTextBox = element(by.name('MI'));
var EmailHeader = element(by.css('.col-12:nth-child(4) .col-4'));
var EmailTextBox = element(by.name('Email'));
var SaveButton = element(by.css('.btn:nth-child(2)'));
var ResetProfileImage = element(by.css('.dropdown-toggle > .jmRoundCenterImage'));
var ResetSignOutButton = element(by.css('li > .btn'));
browser.get(browser.params.login).then(function() {
browser.sleep(2500);
});
//browser.waitForAngularEnabled(true);
expect(await PageGreetingText.getText()).toEqual('Login and start exploring.');
browser.sleep(2500);
await UserNameTextBox.sendKeys(browser.params.username).then(function() {
browser.sleep(2500);
});
await PasswordTextBox.sendKeys('3Dm!nAuto').then(function() {
browser.sleep(2500);
});
await NextButton.click().then(function() {
browser.sleep(5000);
browser.waitForAngular();
browser.getCurrentUrl();
});
await ProfileImage.click().then(function() {
browser.sleep(1500);
});
browser.actions().mouseMove(ProfileLink).perform().then(function() {
browser.sleep(1500);
});
await ProfileLink.click().then(function() {
browser.sleep(5000);
});
//Account Information Page
browser.waitForAngularEnabled(false);
browser.get(browser.params.nonAngularURL);
expect(await PageTitle.getText()).toEqual('Account Information');
await EditProfileTile.click().then(function() {
browser.sleep(2500);
});
expect(await MiddleInitialHeader.getText()).toEqual('Middle Initial');
expect(await MiddleInitialTextBox.getAttribute('value')).toEqual('G');
expect(await EmailHeader.getText()).toEqual('Email');
expect(await EmailTextBox.getAttribute('value')).toEqual('AutomatedRegression@edmin.com');
await MiddleInitialTextBox.clear().then(function() {
browser.sleep(1500);
});
await EmailTextBox.clear().then(function() {
browser.sleep(1500);
});
await SaveButton.click().then(function() {
browser.sleep(2500);
var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Personal information is updated.');
browser.switchTo().alert().accept();
browser.sleep(2500);
});
expect(await PersonalInformationTitle.getText()).toEqual('Personal Information');
await AccountInformationGreeting.getText().then(async function(actualText) {
if(actualText.indexOf('Qa_Automated') !== -1) {
expect(await UserNameText.getText()).toEqual('Qa_Automated Regression');
} else {
expect(await UserNameText.getText()).toEqual('Prod_Automated Regression');
}
});
expect(await UserEmailHeader.getText()).toEqual('Email');
expect(await UserEmailText.getText()).toEqual('');
expect(await UserRoleHeader.getText()).toEqual('Role');
expect(await UserRoleText.getText()).toEqual('Student');
expect(await UserBirthDateHeader.getText()).toEqual('Birthdate');
expect(await UserBirthDateText.getText()).toEqual('2000-02-15');
expect(await UserZipCodeHeader.getText()).toEqual('Zip Code');
expect(await UserZipCodeText.getText()).toEqual('92123');
await ResetProfileImage.click().then(function() {
browser.sleep(1500);
});
await ResetSignOutButton.click().then(function() {
browser.sleep(1500);
});
});
}