diff --git a/zoneAdmin_config.js b/zoneAdmin_config.js new file mode 100644 index 0000000..c215bb8 --- /dev/null +++ b/zoneAdmin_config.js @@ -0,0 +1,53 @@ +//zoneAdmin_config.js + +var today = new Date(); +var mm = today.getMonth()+1; //January is 0 +var dd = today.getDate(); +var yyyy = today.getFullYear(); +var hour = today.getHours(); +var minute = today.getMinutes(); + +exports.config = { + framework: 'jasmine', + seleniumAddress: 'http://localhost:4444/wd/hub', + specs: ['zoneAdmin_spec.js'], + + jasmineNodeOpts: { + defaultTimeoutInterval: 360000 + }, + + capabilities: { + browserName: 'chrome' + }, + + onPrepare: function() { + browser.sleep(2500); + browser.driver.manage().window().maximize(); + }, + + params: { + login: 'https://app-qa.journeysmap.com/Journey/index.html#/login', + nonAngularURL: 'https://app-qa.journeysmap.com/UI/Zone/Admin', + username: 'jhmanager19', + password: 'Manager007', + school: 'Automated School ' + mm + dd + yyyy + hour + minute, + teacher: 'Automated' + mm + dd + yyyy + hour + minute, + email: 'Automated' + mm + dd + yyyy + hour + minute, + class: 'Automated Class ' + mm + dd + yyyy + hour + minute, + student: 'Automated' + mm + dd + yyyy + hour + minute, + simulation: 'Automated Simulation ' + mm + dd + yyyy + hour + minute, + simulationStartEndDate: '01/08/2021', + simulationStartDateTime: yyyy + '-0' + mm + '-0' + dd + 'T08:00:00.000', + simulationEndDateTime: yyyy + '-0' + mm + '-0' + dd + 'T22:00:00.000' + } + + /*multiCapabilities: [{ + browserName: 'chrome' + }, { + browserName: 'firefox' + }]/*, { + browserName: 'internet explorer' + }], { + browserName: 'safari' + }]*/ +} \ No newline at end of file diff --git a/zoneAdmin_spec.js b/zoneAdmin_spec.js new file mode 100644 index 0000000..f898916 --- /dev/null +++ b/zoneAdmin_spec.js @@ -0,0 +1,1967 @@ +//zoneAdmin_spec.js + +describe('Begin Career Exploration Widget 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('Zone Management'); + }); + + function SignIn(UserNameTextBox, PasswordTextBox) { + it('SignIn, 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('.navbar-nav:nth-child(2) > .nav-item')); + + expect(await PageGreetingText.getText()).toEqual('Login and start exploring.'); + browser.sleep(1500); + await UserNameTextBox.sendKeys(browser.params.username).then(function() { + browser.sleep(1500); + }); + await PasswordTextBox.sendKeys(browser.params.password).then(function() { + browser.sleep(1500); + }); + await NextButton.click().then(function() { + browser.sleep(5000); + }); + browser.waitForAngularEnabled(false); + expect(await JourneysGreeting.getText()).toContain('Hi, '); + expect(await JourneysGreeting.getText()).toContain('Juanmanager'); + }); + } + + AdminDashboard(); + ManageSchools(); + ManageTeachers(); + ManageClasses(); + ManageStudents(); + AddStudentToClass(); + ManageSimulations(); + ManageReports(); + + //Sign Out*/ + SignOut(); +}); + +function AdminDashboard() { + it(': AdminDashboard, should verify Admin Dashboard landing page.', async function () { + var PageTitle = element(by.css('#title')); + var ManageSchoolsTile = element(by.css('.col-lg-2:nth-child(2) tr:nth-child(1) > td')); + var ManageTeachersTile = element(by.css('.col-lg-2:nth-child(3) tr:nth-child(1) > td')); + var ManageClassesTile = element(by.css('.col-lg-2:nth-child(4) tr:nth-child(1) > td')); + var ManageStudentsTile = element(by.css('.col-lg-2:nth-child(5) tr:nth-child(1) > td')); + var ManageSimulationsTile = element(by.css('.col-lg-2:nth-child(6) tr:nth-child(1) > td')); + var ManageReports = element(by.css('.col-lg-2:nth-child(7) tr:nth-child(1) > td')); + + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + expect(await ManageSchoolsTile.getText()).toContain('MANAGE'); + expect(await ManageSchoolsTile.getText()).toContain('SCHOOLS'); + expect(await ManageTeachersTile.getText()).toContain('MANAGE'); + expect(await ManageTeachersTile.getText()).toContain('TEACHERS'); + expect(await ManageClassesTile.getText()).toContain('MANAGE'); + expect(await ManageClassesTile.getText()).toContain('CLASSES'); + expect(await ManageStudentsTile.getText()).toContain('MANAGE'); + expect(await ManageStudentsTile.getText()).toContain('STUDENTS'); + expect(await ManageSimulationsTile.getText()).toContain('MANAGE'); + expect(await ManageSimulationsTile.getText()).toContain('SIMULATIONS'); + expect(await ManageReports.getText()).toContain('MANAGE'); + expect(await ManageReports.getText()).toContain('REPORTS'); + }); +} + +function ManageSchools() { + it(': ManageSchools, should interact with Manage Schools page and add a new school.', async function () { + var PageTitle = element(by.css('#title')); + var ManageSchoolsTile = element(by.css('.col-lg-2:nth-child(2) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewSchoolTab = element(by.linkText('ADD NEW SCHOOL')); + var SchoolNameLabel = element(by.css('label')); + var SchoolNameTextBox = element(by.name('SchoolName')); + var CastleParkSeniorHighSelection = element(by.xpath("//button[contains(.,'Castle Park Senior High (Chula Vista)')]")); + var StreetAddressLabel = element(by.css('.col-sm-6:nth-child(2)')); + var StreetAddressTextBox = element(by.name('Address')); + var CityLabel = element(by.css('.col-12:nth-child(3)')); + var CityTextBox = element(by.name('City')); + var StateLabel = element(by.css('.col-12:nth-child(4)')); + var StateTextBox = element(by.name('State')); + var ZipCodeLabel = element(by.css('.col-12:nth-child(5)')); + var ZipCodeTextBox = element(by.name('ZipCode')); + var IndicatesRequiredFieldsLabel = element(by.css('.ng-dirty > div:nth-child(2) > div:nth-child(1)')); + var EditExistingSchoolTab = element(by.linkText('EDIT EXISTING SCHOOL')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var CastleParkSeniorHighSelectionTwo = element(by.xpath("//button[contains(.,'Castle Park Senior High School (Chula Vista)')]")); + var SchoolId = element(by.css('.col-12:nth-child(1)')); + var SchoolNameLabelTwo = element(by.css('.row:nth-child(2) > .col-12:nth-child(2)')); + var StreetAddressLabelTwo = element(by.css('.col-12:nth-child(3)')); + var CityLabelTwo = element(by.css('.col-12:nth-child(4)')); + var StateLabelTwo = element(by.css('.col-12:nth-child(5)')); + var ZipCodeLabelTwo = element(by.css('.col-12:nth-child(6)')); + var IndicatesRequiredFieldsLabelTwo = element(by.css('.ng-untouched > div:nth-child(3) > div:nth-child(1)')); + var AddedSchool = element(by.id('ngb-typeahead-4-0')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageSchoolsTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Schools'); + expect(AddNewSchoolTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewSchoolTab.getText()).toEqual('ADD NEW SCHOOL'); + expect(EditExistingSchoolTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingSchoolTab.getText()).toEqual('EDIT EXISTING SCHOOL'); + expect(await SchoolNameLabel.getText()).toEqual('School Name*'); + await SchoolNameTextBox.sendKeys('Castle Park').then(function() { + browser.sleep(1500); + }); + browser.actions().mouseMove(CastleParkSeniorHighSelection).perform().then(function() { + browser.sleep(1000); + }); + await CastleParkSeniorHighSelection.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolNameTextBox.getAttribute('value')).toEqual('Castle Park Senior High'); + expect(await StreetAddressLabel.getText()).toEqual('Street Address'); + expect(await StreetAddressTextBox.getAttribute('value')).toEqual('1395 Hilltop Dr.'); + expect(await CityLabel.getText()).toEqual('City*'); + expect(await CityTextBox.getAttribute('value')).toEqual('Chula Vista'); + expect(await StateLabel.getText()).toEqual('State*'); + expect(await StateTextBox.getAttribute('value')).toEqual('CA'); + expect(await ZipCodeLabel.getText()).toEqual('Zip Code*'); + expect(await ZipCodeTextBox.getAttribute('value')).toEqual('91911'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + 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('Failed to add school.'); + expect(alertDialog.getText()).toContain('A school with the same name and zip code combination already exists. Please ensure school is unique.'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + await EditExistingSchoolTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewSchoolTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewSchoolTab.getText()).toEqual('ADD NEW SCHOOL'); + expect(EditExistingSchoolTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingSchoolTab.getText()).toEqual('EDIT EXISTING SCHOOL'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for and select a school to edit'); + await ExistingSearchTextBox.sendKeys('Castle').then(function() { + browser.sleep(1500); + }); + browser.actions().mouseMove(CastleParkSeniorHighSelectionTwo).perform().then(function() { + browser.sleep(1000); + }); + await CastleParkSeniorHighSelectionTwo.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolId.getText()).toEqual('School Id: 1155'); + expect(await SchoolNameLabelTwo.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('value')).toEqual('Castle Park Senior High School'); + expect(await StreetAddressLabelTwo.getText()).toEqual('Street Address'); + expect(await StreetAddressTextBox.getAttribute('value')).toEqual('1395 Hilltop Dr.'); + expect(await CityLabelTwo.getText()).toEqual('City*'); + expect(await CityTextBox.getAttribute('value')).toEqual('Chula Vista'); + expect(await StateLabelTwo.getText()).toEqual('State*'); + expect(await StateTextBox.getAttribute('value')).toEqual('CA'); + expect(await ZipCodeLabelTwo.getText()).toEqual('Zip Code*'); + expect(await ZipCodeTextBox.getAttribute('value')).toEqual('91911'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await CancelButton.click().then(function() { + browser.sleep(2500); + }); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for and select a school to edit'); + await AddNewSchoolTab.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolNameTextBox.getAttribute('value')).toEqual('Castle Park Senior High'); + await SchoolNameTextBox.clear().then(function() { + browser.sleep(1500); + }); + await SchoolNameTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(1500); + }); + expect(await StreetAddressLabel.getText()).toEqual('Street Address'); + expect(await StreetAddressTextBox.getAttribute('value')).toEqual('1395 Hilltop Dr.'); + await StreetAddressTextBox.clear().then(function() { + browser.sleep(1500); + }); + await StreetAddressTextBox.sendKeys('247 Automated Street').then(function() { + browser.sleep(1500); + }); + expect(await CityLabel.getText()).toEqual('City*'); + expect(await CityTextBox.getAttribute('value')).toEqual('Chula Vista'); + await CityTextBox.clear().then(function() { + browser.sleep(1500); + }); + await CityTextBox.sendKeys('The Matrix').then(function() { + browser.sleep(1500); + }); + expect(await StateLabel.getText()).toEqual('State*'); + expect(await StateTextBox.getAttribute('value')).toEqual('CA'); + await StateTextBox.clear().then(function() { + browser.sleep(1500); + }); + await StateTextBox.sendKeys('California').then(function() { + browser.sleep(1500); + }); + expect(await ZipCodeLabel.getText()).toEqual('Zip Code*'); + expect(await ZipCodeTextBox.getAttribute('value')).toEqual('91911'); + await ZipCodeTextBox.clear().then(function() { + browser.sleep(1500); + }); + await ZipCodeTextBox.sendKeys('404').then(function() { + browser.sleep(1500); + }); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + 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()).toEqual('New school has been added successfully.'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + expect(await SchoolNameTextBox.getAttribute('value')).toEqual(''); + expect(await StreetAddressLabel.getText()).toEqual('Street Address'); + expect(await StreetAddressTextBox.getAttribute('value')).toEqual(''); + expect(await CityLabel.getText()).toEqual('City*'); + expect(await CityTextBox.getAttribute('value')).toEqual(''); + expect(await StateLabel.getText()).toEqual('State*'); + expect(await StateTextBox.getAttribute('value')).toEqual(''); + expect(await ZipCodeLabel.getText()).toEqual('Zip Code*'); + expect(await ZipCodeTextBox.getAttribute('value')).toEqual(''); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + await EditExistingSchoolTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewSchoolTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewSchoolTab.getText()).toEqual('ADD NEW SCHOOL'); + expect(EditExistingSchoolTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingSchoolTab.getText()).toEqual('EDIT EXISTING SCHOOL'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for and select a school to edit'); + await ExistingSearchTextBox.click().then(function() { + browser.sleep(2500); + }); + await AddedSchool.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolId.getText()).toContain('School Id: '); + expect(await SchoolNameLabelTwo.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('value')).toEqual(browser.params.school); + expect(await StreetAddressLabelTwo.getText()).toEqual('Street Address'); + expect(await StreetAddressTextBox.getAttribute('value')).toEqual('247 Automated Street'); + expect(await CityLabelTwo.getText()).toEqual('City*'); + expect(await CityTextBox.getAttribute('value')).toEqual('The Matrix'); + expect(await StateLabelTwo.getText()).toEqual('State*'); + expect(await StateTextBox.getAttribute('value')).toEqual('California'); + expect(await ZipCodeLabelTwo.getText()).toEqual('Zip Code*'); + expect(await ZipCodeTextBox.getAttribute('value')).toEqual('404'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function ManageTeachers() { + it(': ManageTeachers, should interact with Manage Teachers page and add a new teacher.', async function () { + var ManageTeachersTile = element(by.css('.col-lg-2:nth-child(3) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewTeacherTab = element(by.linkText('ADD NEW TEACHER')); + var TeacherFirstNameLabel = element(by.css('.col-12:nth-child(1) > .col-12:nth-child(1)')); + var TeacherFirstNameTextBox = element(by.name('FirstName')); + var TeacherLastNameLabel = element(by.css('.col-12 > .col-12:nth-child(2)')); + var TeacherLastNameTextBox = element(by.name('LastName')); + var TeacherEmailLabel = element(by.css('.col-12:nth-child(3)')); + var TeacherEmailTextBox = element(by.name('Email')); + var IndicatesRequiredFieldsLabel = element(by.css('.ng-pristine > div:nth-child(3) > div:nth-child(1)')); + var IndicatesRequiredFieldsLabelTwo = element(by.css('div:nth-child(4) > div:nth-child(1)')); + var SchoolAssociationsLabel = element(by.css('.col-12:nth-child(2) > .col-12')); + var SchoolAssociationsTextBox = element(by.name('SelectedSchool')); + var AssociatedSchoolListOne = element(by.css('.list-group-item')); + var EditExistingTeacherTab = element(by.linkText('EDIT EXISTING TEACHER')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var SelectedTeacher = element(by.xpath("//button[contains(.,'Ron Casper (rcasper@edmin.com)')]")); + var TeacherFirstNameLabelTwo = element(by.css('.col-12 > .col-12:nth-child(2)')); + var TeacherLastNameLabelTwo = element(by.css('.col-12:nth-child(3)')); + var TeacherEmailLabelTwo = element(by.css('.col-12:nth-child(4)')); + var TeacherId = element(by.css('.col-12:nth-child(1) > .col-12:nth-child(1)')); + var IndicatesRequiredFieldsLabelThree = element(by.css('.ng-invalid > div:nth-child(3) > div:nth-child(1)')); + var SelectNewSchoolAssociation = element(by.id('ngb-typeahead-7-0')); + var AssociatedSchoolListTwo = element(by.css('.list-group-item:nth-child(2)')); + var RemoveAssociatedSchoolOne = element(by.css('.list-group-item:nth-child(1) > .fa')); + var SelectNewSchoolAssociationTwo = element(by.id('ngb-typeahead-9-0')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageTeachersTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Teachers'); + expect(AddNewTeacherTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewTeacherTab.getText()).toEqual('ADD NEW TEACHER'); + expect(EditExistingTeacherTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingTeacherTab.getText()).toEqual('EDIT EXISTING TEACHER'); + expect(await TeacherFirstNameLabel.getText()).toEqual('Teacher First Name*'); + expect(await TeacherFirstNameTextBox.getAttribute('placeholder')).toEqual('First Name (min. 2 characters)'); + expect(await TeacherLastNameLabel.getText()).toEqual('Teacher Last Name*'); + expect(await TeacherLastNameTextBox.getAttribute('placeholder')).toEqual('Last Name (min. 2 characters)'); + expect(await TeacherEmailLabel.getText()).toEqual('Email*'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + expect(await SchoolAssociationsLabel.getText()).toEqual('School Associations*'); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await EditExistingTeacherTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewTeacherTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewTeacherTab.getText()).toEqual('ADD NEW TEACHER'); + expect(EditExistingTeacherTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingTeacherTab.getText()).toEqual('EDIT EXISTING TEACHER'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for a teacher by school, name, or email'); + await ExistingSearchTextBox.sendKeys('Casper').then(function() { + browser.sleep(1500); + }); + await SelectedTeacher.click().then(function() { + browser.sleep(2500); + }); + expect(await TeacherId.getText()).toEqual('Teacher Id: 50307'); + expect(await TeacherFirstNameLabelTwo.getText()).toEqual('Teacher First Name*'); + expect(await TeacherFirstNameTextBox.getAttribute('value')).toEqual('Ron'); + expect(await TeacherLastNameLabelTwo.getText()).toEqual('Teacher Last Name*'); + expect(await TeacherLastNameTextBox.getAttribute('value')).toEqual('Casper'); + expect(await TeacherEmailLabelTwo.getText()).toEqual('Email*'); + expect(await TeacherEmailTextBox.getAttribute('value')).toEqual('rcasper@edmin.com'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + expect(await SchoolAssociationsLabel.getText()).toContain('School Associations*'); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + expect(await AssociatedSchoolListOne.getText()).toEqual(' School Of Hard Knocks (Pheonix)'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await SchoolAssociationsTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(1500); + }); + await SelectNewSchoolAssociation.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + expect(await AssociatedSchoolListOne.getText()).toEqual(' School Of Hard Knocks (Pheonix)'); + expect(await AssociatedSchoolListTwo.getText()).toEqual(' ' + browser.params.school + ' (The Matrix)'); + await RemoveAssociatedSchoolOne.click().then(function() { + browser.sleep(2500); + }); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + expect(await AssociatedSchoolListOne.getText()).toEqual(' ' + browser.params.school + ' (The Matrix)'); + await CancelButton.click().then(function() { + browser.sleep(2500); + }); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for a teacher by school, name, or email'); + await AddNewTeacherTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewTeacherTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewTeacherTab.getText()).toEqual('ADD NEW TEACHER'); + expect(EditExistingTeacherTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingTeacherTab.getText()).toEqual('EDIT EXISTING TEACHER'); + expect(await TeacherFirstNameLabel.getText()).toEqual('Teacher First Name*'); + expect(await TeacherFirstNameTextBox.getAttribute('placeholder')).toEqual('First Name (min. 2 characters)'); + await TeacherFirstNameTextBox.sendKeys('T-800').then(function() { + browser.sleep(1500); + }); + expect(await TeacherLastNameLabel.getText()).toEqual('Teacher Last Name*'); + expect(await TeacherLastNameTextBox.getAttribute('placeholder')).toEqual('Last Name (min. 2 characters)'); + await TeacherLastNameTextBox.sendKeys(browser.params.teacher).then(function() { + browser.sleep(1500); + }); + expect(await TeacherEmailLabel.getText()).toEqual('Email*'); + await TeacherEmailTextBox.sendKeys(browser.params.email + '@automation.com').then(function() { + browser.sleep(1500); + }); + expect(await IndicatesRequiredFieldsLabelThree.getText()).toEqual('* indicates require fields.'); + expect(await SchoolAssociationsLabel.getText()).toEqual('School Associations*'); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + await SchoolAssociationsTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(2500); + }); + await SelectNewSchoolAssociationTwo.click().then(function() { + browser.sleep(2500); + }); + expect(await AssociatedSchoolListOne.getText()).toEqual(' ' + browser.params.school + ' (The Matrix)'); + 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()).toEqual('New teacher has been added successfully.'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + expect(await TeacherFirstNameLabel.getText()).toEqual('Teacher First Name*'); + expect(await TeacherFirstNameTextBox.getAttribute('placeholder')).toEqual('First Name (min. 2 characters)'); + expect(await TeacherLastNameLabel.getText()).toEqual('Teacher Last Name*'); + expect(await TeacherLastNameTextBox.getAttribute('placeholder')).toEqual('Last Name (min. 2 characters)'); + expect(await TeacherEmailLabel.getText()).toEqual('Email*'); + expect(await IndicatesRequiredFieldsLabelThree.getText()).toEqual('* indicates require fields.'); + expect(await SchoolAssociationsLabel.getText()).toEqual('School Associations*'); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function ManageClasses() { + it(': ManageClasses, should interact with Manage Classes page and add a new class.', async function () { + var ManageClassesTile = element(by.css('.col-lg-2:nth-child(4) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewClassesTab = element(by.linkText('ADD NEW CLASS')); + var SchoolNameLabel = element(by.css('.col-12:nth-child(1)')); + var SchoolNameTextBox = element(by.name('SelectedSchool')); + var TeacherNameLabel = element(by.css('.row:nth-child(4) > .col-12:nth-child(2)')); + var TeacherNameTextBox = element(by.name('SelectedTeacher')); + var ClassNameLabel = element(by.css('.col-12:nth-child(3)')); + var ClassNameTextBox = element(by.name('ClassName')); + var ClassPeriodLabel = element(by.css('.col-12:nth-child(4)')); + var ClassPeriodTextBox = element(by.name('Period')); + var AddToExistingSimulationLabel = element(by.css('.col-12:nth-child(5)')); + var AddToExistintSimulationTextBox = element(by.name('SelectedSimulation')); + var NumberOfStudentsLabel = element(by.css('.col-12:nth-child(6)')); + var NumberOfStudentsTextBox = element(by.name('ClassSize')); + var RemoveColumnHeader = element(by.css('.table-primary > td:nth-child(1)')); + var NameColumnHeader = element(by.css('td:nth-child(2)')); + var BirthDateColumnHeader = element(by.css('td:nth-child(3)')); + var SearchAndAddStudentTextBox = element(by.css('.input-group > .ng-untouched')); + var TotalStudentsLabel = element(by.css('td > span:nth-child(2)')); + var IndicatesRequiredFieldsLabel = element(by.css('div:nth-child(5) > div:nth-child(1)')); + var EditExistingClassesTab = element(by.linkText('EDIT EXISTING CLASS')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var SelectExistingSchool = element(by.xpath("//button[contains(.,'Baseball Fundamentals P-6 (5YYJ8BE4, Fernando Tatis, Castle Park Senior High)')]")); + var ClassId = element(by.css('.col-12:nth-child(1)')); + var ConnectionCode = element(by.css('.col-sm-6:nth-child(2)')); + var SchoolNameText = element(by.css('.col-12:nth-child(3)')); + var TeacherNameLabelTwo = element(by.css('.col-12:nth-child(4)')); + var ClassNameLabelTwo = element(by.css('.col-12:nth-child(5)')); + var ClassPeriodLabelTwo = element(by.css('.col-12:nth-child(6)')); + var AddToExistingSimulationLabelTwo = element(by.css('.col-12:nth-child(7)')); + var NumberOfStudentsLabelTwo = element(by.css('.col-12:nth-child(8)')); + var EnrolledStudentNameOne = element(by.css('tbody > tr:nth-child(1) > td:nth-child(2)')); + var EnrolledStudentDOBOne = element(by.css('tbody > tr:nth-child(1) > td:nth-child(3)')); + var EnrolledStudentRemoveIconTwo = element(by.css('tr:nth-child(2) .fa')); + var EnrolledStudentNameTwo = element(by.css('tr:nth-child(2) > td:nth-child(2)')); + var EnrolledStudentDOBTwo = element(by.css('tr:nth-child(2) > td:nth-child(3)')); + var EnrolledStudentNameThree = element(by.css('tr:nth-child(3) > td:nth-child(2)')); + var EnrolledStudentDOBThree = element(by.css('tr:nth-child(3) > td:nth-child(3)')); + var EnrolledStudentNameFour = element(by.css('tr:nth-child(4) > td:nth-child(2)')); + var EnrolledStudentDOBFour = element(by.css('tr:nth-child(4) > td:nth-child(3)')); + var EnrolledStudentRemoveIconFive = element(by.css('tr:nth-child(5) .fa')); + var EnrolledStudentNameFive = element(by.css('tr:nth-child(5) > td:nth-child(2)')); + var EnrolledStudentDOBFive = element(by.css('tr:nth-child(5) > td:nth-child(3)')); + var EnrolledStudentNameSix = element(by.css('tr:nth-child(6) > td:nth-child(2)')); + var EnrolledStudentDOBSix = element(by.css('tr:nth-child(6) > td:nth-child(3)')); + var EnrolledStudentNameSeven = element(by.css('tr:nth-child(7) > td:nth-child(2)')); + var EnrolledStudentDOBSeven = element(by.css('tr:nth-child(7) > td:nth-child(3)')); + var SearchAndAddStudentTextBoxTwo = element(by.css('.input-group:nth-child(1) > .form-control')); + var SelectStudentToAddToClass = element(by.xpath("//button[contains(.,'Tony Gwynn 2000-10-19')]")); + var IndicatesRequiredFieldsLabelTwo = element(by.css('div:nth-child(6) > div:nth-child(1)')); + var SelectNewlyCreatedSchool = element(by.id('ngb-typeahead-18-0')); + var SelectNewlyCreatedTeacher = element(by.id('ngb-typeahead-19-0')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageClassesTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Classes'); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await SchoolNameLabel.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + expect(await TeacherNameLabel.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a Teacher by Name or Email'); + expect(await ClassNameLabel.getText()).toEqual('Class Name*'); + expect(await ClassPeriodLabel.getText()).toEqual('Period*'); + expect(await AddToExistingSimulationLabel.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await NumberOfStudentsLabel.getText()).toEqual('Number of Students*'); + expect(await NumberOfStudentsTextBox.getAttribute('value')).toEqual('0'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + expect(await TotalStudentsLabel.getText()).toEqual('0'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await EditExistingClassesTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search and Select a Class by name, school, or teacher'); + await ExistingSearchTextBox.click().then(function() { + browser.sleep(2500); + }); + await ExistingSearchTextBox.sendKeys('Castle').then(function() { + browser.sleep(1500); + }); + await SelectExistingSchool.click().then(function() { + browser.sleep(2500); + }); + expect(await ClassId.getText()).toEqual('Class Id: 34789'); + expect(await ConnectionCode.getText()).toEqual('Connection Code: 5YYJ8BE4'); + expect(await SchoolNameText.getText()).toContain('School Name*'); + expect(await SchoolNameText.getText()).toContain('Castle Park Senior High'); + expect(await TeacherNameLabelTwo.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('value')).toEqual('Fernando Tatis (FTatis@edmin.com)'); + expect(await ClassNameLabelTwo.getText()).toEqual('Class Name*'); + expect(await ClassNameTextBox.getAttribute('value')).toEqual('Baseball Fundamentals'); + expect(await ClassPeriodLabelTwo.getText()).toEqual('Period*'); + expect(await ClassPeriodTextBox.getAttribute('value')).toEqual('6'); + expect(await AddToExistingSimulationLabelTwo.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('value')).toEqual('_a'); + expect(await NumberOfStudentsLabelTwo.getText()).toEqual('Number of Students*'); + expect(await NumberOfStudentsTextBox.getAttribute('value')).toEqual('15'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBoxTwo.getAttribute('placeholder')).toEqual('Search and Add a student'); + expect(await EnrolledStudentNameOne.getText()).toEqual('Daniel Larssonhere'); + expect(await EnrolledStudentDOBOne.getText()).toEqual('2020-08-08'); + expect(await EnrolledStudentNameTwo.getText()).toEqual('One Lasttime'); + expect(await EnrolledStudentDOBTwo.getText()).toEqual('2000-06-06'); + expect(await EnrolledStudentNameThree.getText()).toEqual('Manny Machado'); + expect(await EnrolledStudentDOBThree.getText()).toEqual('2000-08-08'); + expect(await EnrolledStudentNameFour.getText()).toEqual('Wil Myers'); + expect(await EnrolledStudentDOBFour.getText()).toEqual('2000-11-11'); + expect(await EnrolledStudentNameFive.getText()).toEqual('Play Offs'); + expect(await EnrolledStudentDOBFive.getText()).toEqual('2000-09-20'); + expect(await EnrolledStudentNameSix.getText()).toEqual('Who This'); + expect(await EnrolledStudentDOBSix.getText()).toEqual('2010-09-09'); + expect(await EnrolledStudentNameSeven.getText()).toEqual('Penny Wise'); + expect(await EnrolledStudentDOBSeven.getText()).toEqual('2000-10-31'); + expect(await TotalStudentsLabel.getText()).toEqual('7'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + await EnrolledStudentRemoveIconTwo.click().then(function() { + browser.sleep(2500); + }); + expect(await EnrolledStudentNameOne.getText()).toEqual('Daniel Larssonhere'); + expect(await EnrolledStudentDOBOne.getText()).toEqual('2020-08-08'); + expect(await EnrolledStudentNameTwo.getText()).toEqual('Manny Machado'); + expect(await EnrolledStudentDOBTwo.getText()).toEqual('2000-08-08'); + expect(await EnrolledStudentNameThree.getText()).toEqual('Wil Myers'); + expect(await EnrolledStudentDOBThree.getText()).toEqual('2000-11-11'); + expect(await EnrolledStudentNameFour.getText()).toEqual('Play Offs'); + expect(await EnrolledStudentDOBFour.getText()).toEqual('2000-09-20'); + expect(await EnrolledStudentNameFive.getText()).toEqual('Who This'); + expect(await EnrolledStudentDOBFive.getText()).toEqual('2010-09-09'); + expect(await TotalStudentsLabel.getText()).toEqual('6'); + await EnrolledStudentRemoveIconFive.click().then(function() { + browser.sleep(2500); + }); + expect(await EnrolledStudentNameOne.getText()).toEqual('Daniel Larssonhere'); + expect(await EnrolledStudentDOBOne.getText()).toEqual('2020-08-08'); + expect(await EnrolledStudentNameTwo.getText()).toEqual('Manny Machado'); + expect(await EnrolledStudentDOBTwo.getText()).toEqual('2000-08-08'); + expect(await EnrolledStudentNameThree.getText()).toEqual('Wil Myers'); + expect(await EnrolledStudentDOBThree.getText()).toEqual('2000-11-11'); + expect(await EnrolledStudentNameFour.getText()).toEqual('Play Offs'); + expect(await EnrolledStudentDOBFour.getText()).toEqual('2000-09-20'); + expect(await TotalStudentsLabel.getText()).toEqual('5'); + await SearchAndAddStudentTextBoxTwo.sendKeys('Gwynn').then(function() { + browser.sleep(1500); + }); + await SelectStudentToAddToClass.click().then(function() { + browser.sleep(2500); + var alertDialog = browser.switchTo().alert(); + expect(alertDialog.getText()).toContain('Warning!'); + expect(alertDialog.getText()).toContain('This student currently is in an active simulation. Are you sure you want to transfer to this class?'); + browser.switchTo().alert().dismiss(); + browser.sleep(2500); + }); + await AddNewClassesTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await SchoolNameLabel.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + await SchoolNameTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedSchool.click().then(function() { + browser.sleep(2500); + }); + expect(await TeacherNameLabel.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a Teacher by Name or Email'); + await TeacherNameTextBox.sendKeys(browser.params.teacher).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedTeacher.click().then(function() { + browser.sleep(2500); + }); + expect(await ClassNameLabel.getText()).toEqual('Class Name*'); + await ClassNameTextBox.sendKeys(browser.params.class).then(function() { + browser.sleep(1500); + }); + expect(await ClassPeriodLabel.getText()).toEqual('Period*'); + await ClassPeriodTextBox.sendKeys('5').then(function() { + browser.sleep(1500); + }); + expect(await AddToExistingSimulationLabel.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await NumberOfStudentsLabel.getText()).toEqual('Number of Students*'); + expect(await NumberOfStudentsTextBox.getAttribute('value')).toEqual('0'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await TotalStudentsLabel.getText()).toEqual('0'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + 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()).toEqual('The Number of Students should be greater than 0.'); + browser.switchTo().alert().dismiss(); + browser.sleep(2500); + }); + await NumberOfStudentsTextBox.clear().then(function() { + browser.sleep(1500); + }); + await NumberOfStudentsTextBox.sendKeys('25').then(function() { + browser.sleep(1500); + }); + expect(await TotalStudentsLabel.getText()).toEqual('0'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await SaveButton.click().then(function() { + browser.sleep(2500); + var alertDialog = browser.switchTo().alert(); + expect(alertDialog.getText()).toContain('The new class has been saved successfully. The Connection Code is '); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + expect(await SchoolNameLabel.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + expect(await TeacherNameLabel.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a Teacher by Name or Email'); + expect(await ClassNameLabel.getText()).toEqual('Class Name*'); + expect(await ClassPeriodLabel.getText()).toEqual('Period*'); + expect(await AddToExistingSimulationLabel.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await NumberOfStudentsLabel.getText()).toEqual('Number of Students*'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await TotalStudentsLabel.getText()).toEqual('0'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function ManageStudents() { + it(': ManageStudents, should interact with Manage Students page and add a new student.', async function () { + var ManageStudentsTile = element(by.css('.col-lg-2:nth-child(5) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewsStudentsTab = element(by.linkText('ADD NEW STUDENT')); + var StudentFirstNameLabel = element(by.css('.col-12:nth-child(1) > .col-12:nth-child(1)')); + var StudentFirstNameTextBox = element(by.name('FirstName')); + var StudentLastNameLabel = element(by.css('.col-12 > .col-12:nth-child(2)')); + var StudentLastNameTextBox = element(by.name('LastName')); + var StudentBirthdateLabel = element(by.css('.col-12:nth-child(3)')); + var StudentBirthdateTextBox = element(by.name('BirthDate')); + var StudentUsernameLabel = element(by.css('.col-12:nth-child(4)')); + var StudentUsernameTextBox = element(by.name('UN')); + var StudentPasswordLabel = element(by.css('.col-12:nth-child(5)')); + var StudentPasswordTextBox = element(by.name('PW')); + var IndicatesRequiredFieldsLabel = element(by.css('.ng-pristine > div:nth-child(3) > div > div:nth-child(1)')); + var EmailInstructions = element(by.css('.ng-pristine > div:nth-child(3) > div > div:nth-child(2)')); + var SchoolAssociationsLabel = element(by.css('.col-12:nth-child(2) > .col-12')); + var SchoolAssociationsTextBox = element(by.name('SelectedSchool')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var SelectNewSchoolAssociation = element(by.id('ngb-typeahead-22-0')); + var AssociatedSchoolListOne = element(by.css('.list-group-item')); + var IndicatesRequiredFieldsLabelTwo = element(by.css('.ng-invalid > div:nth-child(3) > div > div:nth-child(1)')); + var EmailInstructionsTwo = element(by.css('.ng-invalid > div:nth-child(3) > div > div:nth-child(2)')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var EditExistingStudentsTab = element(by.linkText('EDIT EXISTING STUDENT')); + var SelectNewlyCreatedStudent = element(by.id('ngb-typeahead-23-0')); + var StudentId = element(by.css('.col-12:nth-child(1) > .col-12:nth-child(1)')); + var StudentFirstNameLabelTwo = element(by.css('.col-12 > .col-12:nth-child(2)')); + var StudentLastNameLabelTwo = element(by.css('.col-12:nth-child(3)')); + var StudentBirthdateLabelTwo = element(by.css('.col-12:nth-child(4)')); + var StudentUsernameLabelTwo = element(by.css('.col-12:nth-child(5)')); + var StudentPasswordLabelTwo = element(by.css('.col-12:nth-child(6)')); + var IndicatesRequiredFieldsLabelThree = element(by.css('div:nth-child(4) > div > div:nth-child(1)')); + var EmailInstructionsThree = element(by.css('div:nth-child(4) > div > div:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageStudentsTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Students'); + expect(AddNewsStudentsTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewsStudentsTab.getText()).toEqual('ADD NEW STUDENT'); + expect(EditExistingStudentsTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingStudentsTab.getText()).toEqual('EDIT EXISTING STUDENT'); + expect(await StudentFirstNameLabel.getText()).toEqual('Student First Name*'); + expect(await StudentFirstNameTextBox.getAttribute('placeholder')).toEqual('First Name (min. 2 characters)'); + expect(await StudentLastNameLabel.getText()).toEqual('Student Last Name*'); + expect(await StudentLastNameTextBox.getAttribute('placeholder')).toEqual('Last Name (min. 2 characters)'); + expect(await StudentBirthdateLabel.getText()).toEqual('Birthdate*'); + expect(await StudentUsernameLabel.getText()).toEqual('User Name*'); + expect(await StudentUsernameTextBox.getAttribute('placeholder')).toEqual('User Name (min. 4 characters)'); + expect(await StudentPasswordLabel.getText()).toEqual('Password*'); + expect(await StudentPasswordTextBox.getAttribute('placeholder')).toEqual('Password (min. 6 characters)'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + expect(await EmailInstructions.getText()).toEqual("Using an email address as a username is preferred. If you do, we will update the student's profile and save the email address for future notifications."); + expect(await SchoolAssociationsLabel.getText()).toEqual('School Associations*'); + expect(await SchoolAssociationsTextBox.getAttribute('placeholder')).toEqual('Search and Add a School'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await StudentFirstNameTextBox.sendKeys('HAL 9000').then(function() { + browser.sleep(1500); + }); + await StudentLastNameTextBox.sendKeys(browser.params.student).then(function() { + browser.sleep(1500); + }); + await StudentBirthdateTextBox.sendKeys('11112011').then(function() { + browser.sleep(1500); + }); + await StudentUsernameTextBox.sendKeys('HAL9000@' + browser.params.email).then(function() { + browser.sleep(1500); + }); + await StudentPasswordTextBox.sendKeys('J@!234').then(function() { + browser.sleep(1500); + }); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + expect(await EmailInstructionsTwo.getText()).toEqual("Using an email address as a username is preferred. If you do, we will update the student's profile and save the email address for future notifications."); + await SchoolAssociationsTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(2500); + }); + await SelectNewSchoolAssociation.click().then(function() { + browser.sleep(2500); + }); + expect(await AssociatedSchoolListOne.getText()).toEqual(' ' + browser.params.school + ' (The Matrix)'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await SaveButton.click().then(function() { + browser.sleep(2500); + var alertDialog = browser.switchTo().alert(); + expect(alertDialog.getText()).toEqual('New student has been saved successfully.'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + await EditExistingStudentsTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewsStudentsTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewsStudentsTab.getText()).toEqual('ADD NEW STUDENT'); + expect(EditExistingStudentsTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingStudentsTab.getText()).toEqual('EDIT EXISTING STUDENT'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for a Student by school or name'); + await ExistingSearchTextBox.click().then(function() { + browser.sleep(2500); + }); + await SelectNewlyCreatedStudent.click().then(function() { + browser.sleep(2500); + }); + expect(await StudentId.getText()).toContain('Student Id: '); + expect(await StudentFirstNameLabelTwo.getText()).toEqual('Student First Name*'); + expect(await StudentFirstNameTextBox.getAttribute('value')).toEqual('Hal 9000'); + expect(await StudentLastNameLabelTwo.getText()).toEqual('Student Last Name*'); + expect(await StudentLastNameTextBox.getAttribute('value')).toEqual(browser.params.student); + expect(await StudentBirthdateLabelTwo.getText()).toEqual('Birthdate*'); + expect(await StudentBirthdateTextBox.getAttribute('value')).toEqual('2011-11-11'); + expect(await StudentUsernameLabelTwo.getText()).toEqual('User Name*'); + expect(await StudentUsernameTextBox.getAttribute('value')).toEqual('HAL9000@' + browser.params.email); + expect(await StudentPasswordLabelTwo.getText()).toEqual('Password*'); + expect(await StudentPasswordTextBox.getAttribute('value')).toEqual('J@!234'); + expect(await IndicatesRequiredFieldsLabelThree.getText()).toEqual('* indicates require fields.'); + expect(await EmailInstructionsThree.getText()).toEqual("Using an email address as a username is preferred. If you do, we will update the student's profile and save the email address for future notifications."); + expect(await AssociatedSchoolListOne.getText()).toEqual(' ' + browser.params.school + ' (The Matrix)'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function AddStudentToClass() { + it(': AddStudentToClass, should add newly created student to newly created class', async function () { + var ManageClassesTile = element(by.css('.col-lg-2:nth-child(4) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewClassesTab = element(by.linkText('ADD NEW CLASS')); + var SchoolNameLabel = element(by.css('.col-12:nth-child(1)')); + var SchoolNameTextBox = element(by.name('SelectedSchool')); + var TeacherNameLabel = element(by.css('.row:nth-child(4) > .col-12:nth-child(2)')); + var TeacherNameTextBox = element(by.name('SelectedTeacher')); + var ClassNameLabel = element(by.css('.col-12:nth-child(3)')); + var ClassNameTextBox = element(by.name('ClassName')); + var ClassPeriodLabel = element(by.css('.col-12:nth-child(4)')); + var ClassPeriodTextBox = element(by.name('Period')); + var AddToExistingSimulationLabel = element(by.css('.col-12:nth-child(5)')); + var AddToExistintSimulationTextBox = element(by.name('SelectedSimulation')); + var NumberOfStudentsLabel = element(by.css('.col-12:nth-child(6)')); + var NumberOfStudentsTextBox = element(by.name('ClassSize')); + var RemoveColumnHeader = element(by.css('.table-primary > td:nth-child(1)')); + var NameColumnHeader = element(by.css('td:nth-child(2)')); + var BirthDateColumnHeader = element(by.css('td:nth-child(3)')); + var SearchAndAddStudentTextBox = element(by.css('.input-group > .ng-untouched')); + var TotalStudentsLabel = element(by.css('td > span:nth-child(2)')); + var IndicatesRequiredFieldsLabel = element(by.css('div:nth-child(5) > div:nth-child(1)')); + var EditExistingClassesTab = element(by.linkText('EDIT EXISTING CLASS')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var SelectNewlyCreatedSchool = element(by.id('ngb-typeahead-29-0')); + var ClassId = element(by.css('.col-12:nth-child(1)')); + var ConnectionCode = element(by.css('.col-sm-6:nth-child(2)')); + var SchoolNameText = element(by.css('.col-12:nth-child(3)')); + var TeacherNameLabelTwo = element(by.css('.col-12:nth-child(4)')); + var ClassNameLabelTwo = element(by.css('.col-12:nth-child(5)')); + var ClassPeriodLabelTwo = element(by.css('.col-12:nth-child(6)')); + var AddToExistingSimulationLabelTwo = element(by.css('.col-12:nth-child(7)')); + var NumberOfStudentsLabelTwo = element(by.css('.col-12:nth-child(8)')); + var EnrolledStudentNameOne = element(by.css('tbody > tr:nth-child(1) > td:nth-child(2)')); + var EnrolledStudentDOBOne = element(by.css('tbody > tr:nth-child(1) > td:nth-child(3)')); + var SearchAndAddStudentTextBoxTwo = element(by.css('.input-group:nth-child(1) > .form-control')); + var IndicatesRequiredFieldsLabelTwo = element(by.css('div:nth-child(6) > div:nth-child(1)')); + var SelectNewlyCreatedStudent = element(by.id('ngb-typeahead-32-0')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageClassesTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Classes'); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await SchoolNameLabel.getText()).toEqual('School Name*'); + expect(await SchoolNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + expect(await TeacherNameLabel.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('placeholder')).toEqual('Search and Select a Teacher by Name or Email'); + expect(await ClassNameLabel.getText()).toEqual('Class Name*'); + expect(await ClassPeriodLabel.getText()).toEqual('Period*'); + expect(await AddToExistingSimulationLabel.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await NumberOfStudentsLabel.getText()).toEqual('Number of Students*'); + expect(await NumberOfStudentsTextBox.getAttribute('value')).toEqual('0'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBox.getAttribute('placeholder')).toEqual('Search and Select a School'); + expect(await TotalStudentsLabel.getText()).toEqual('0'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await EditExistingClassesTab.click().then(function() { + browser.sleep(2500); + }); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search and Select a Class by name, school, or teacher'); + await ExistingSearchTextBox.click().then(function() { + browser.sleep(2500); + }); + await ExistingSearchTextBox.sendKeys(browser.params.school).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedSchool.click().then(function() { + browser.sleep(2500); + }); + //expect(await ClassId.getText()).toEqual('Class Id: 34835'); + //expect(await ConnectionCode.getText()).toEqual('Connection Code: IOOL2PR1'); + expect(await SchoolNameText.getText()).toContain('School Name*'); + expect(await SchoolNameText.getText()).toContain(browser.params.school); + expect(await TeacherNameLabelTwo.getText()).toEqual('Teacher Name*'); + expect(await TeacherNameTextBox.getAttribute('value')).toEqual('T-800 ' + browser.params.teacher + ' (' + browser.params.email + '@automation.com)'); + expect(await ClassNameLabelTwo.getText()).toEqual('Class Name*'); + expect(await ClassNameTextBox.getAttribute('value')).toEqual(browser.params.class); + expect(await ClassPeriodLabelTwo.getText()).toEqual('Period*'); + expect(await ClassPeriodTextBox.getAttribute('value')).toEqual('5'); + expect(await AddToExistingSimulationLabelTwo.getText()).toEqual('Add to Existing Simulation'); + expect(await AddToExistintSimulationTextBox.getAttribute('placeholder')).toEqual('Search and Select a Simulation'); + expect(await NumberOfStudentsLabelTwo.getText()).toEqual('Number of Students*'); + expect(await NumberOfStudentsTextBox.getAttribute('value')).toEqual('25'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await NameColumnHeader.getText()).toEqual('Name'); + expect(await BirthDateColumnHeader.getText()).toEqual('Birthdate'); + expect(await SearchAndAddStudentTextBoxTwo.getAttribute('placeholder')).toEqual('Search and Add a student'); + await SearchAndAddStudentTextBoxTwo.sendKeys(browser.params.student).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedStudent.click().then(function() { + browser.sleep(2500); + }); + expect(await EnrolledStudentNameOne.getText()).toEqual('HAL 9000 ' + browser.params.student); + expect(await EnrolledStudentDOBOne.getText()).toEqual('2011-11-11'); + expect(await TotalStudentsLabel.getText()).toEqual('1'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + 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()).toEqual('Change to existing class has been saved successfully'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + expect(AddNewClassesTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewClassesTab.getText()).toEqual('ADD NEW CLASS'); + expect(EditExistingClassesTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingClassesTab.getText()).toEqual('EDIT EXISTING CLASS'); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search and Select a Class by name, school, or teacher'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function ManageSimulations() { + it(': ManageSimulations, should interact with Manage Simulations page and add a new simulation.', async function () { + var ManageSimulationsTile = element(by.css('.col-lg-2:nth-child(6) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var AddNewSimulationsTab = element(by.linkText('ADD NEW SIMULATION')); + var SimulationNameLabel = element(by.css('.col-12:nth-child(1)')); + var SimulationNameTextBox = element(by.name('SimulationName')); + var SimulationStartDateLabel = element(by.css('.col-sm-6:nth-child(2)')); + var SimulationStartDateTextBox = element(by.css('.col-12:nth-child(2) > .input-group > .form-control:nth-child(1)')); + var SimulationStartDateTextBoxTwo = element(by.css('.input-group:nth-child(2) > .ng-untouched:nth-child(1)')); + var SimulationStartTimeTextBox = element(by.css('.col-12:nth-child(2) > .input-group > .ng-untouched')); + var SimulationEndDateLabel = element(by.css('.col-12:nth-child(3)')); + var SimulationEndDateTextBox = element(by.css('.input-group:nth-child(2) > .ng-untouched:nth-child(1)')); + var SimulationEndTimeTextBox = element(by.css('.input-group:nth-child(2) > .ng-untouched')); + var SimulationEndTimeTextBoxTwo = element(by.css('.col-12:nth-child(3) .ng-untouched')); + var MaximumStudentsLabel = element(by.css('.col-12:nth-child(4)')); + var MaximumStudentsTextBox = element(by.name('MaxStudents')); + var MaximumOccupationsLabel = element(by.css('.col-12:nth-child(5)')); + var MaximumOccupationsTextBox = element(by.name('MaxOccupations')); + var RemoveColumnHeader = element(by.css('.table-primary > td:nth-child(1)')); + var ClassColumnHeader = element(by.css('.table-primary > td:nth-child(2)')); + var SchoolColumnHeader = element(by.css('.table-primary > td:nth-child(3)')); + var ConnectionCodeColumnHeader = element(by.css('td:nth-child(4)')); + var ClassSizeColumnHeader = element(by.css('td:nth-child(5)')); + var EnrolledStudentsColumnHeader = element(by.css('td:nth-child(6)')); + var SearchAddClassByNameSchoolOrTeacherTextBox = element(by.css('.input-group:nth-child(1) > .form-control')); + var SelectNewlyCreatedClass = element(by.id('ngb-typeahead-34-0')); + var TotalLabel = element(by.css('tfoot td:nth-child(1)')); + var ClassSizeCount = element(by.css('tfoot td:nth-child(2)')); + var EnrolledStudentsCount = element(by.css('tfoot td:nth-child(3)')); + var ClassNameAdded = element(by.css('tbody td:nth-child(2)')); + var SchoolNameAdded = element(by.css('tbody td:nth-child(3)')); + var ConnectionCodeAdded = element(by.css('tbody td:nth-child(4)')); + var ClassSizeAdded = element(by.css('tbody td:nth-child(5)')); + var EnrolledStudentAdded = element(by.css('tbody td:nth-child(6)')); + var IndicatesRequiredFieldsLabel = element(by.css('.ng-dirty > div:nth-child(2) > div:nth-child(1)')); + var SimulationEndDateTextBoxTwo = element(by.css('.col-12:nth-child(3) .form-control:nth-child(1)')); + var SearchAddClassByNameSchoolOrTeacherTextBoxTwo = element(by.css('.ng-valid:nth-child(1)')); + var EditExistingSimulationsTab = element(by.linkText('EDIT EXISTING SIMULATION')); + var ExistingSearchTextBox = element(by.css('.form-control')); + var SelectNewlyCreatedSimulation = element(by.id('ngb-typeahead-35-0')); + var IndicatesRequiredFieldsLabelTwo = element(by.css('.ng-pristine > div:nth-child(3) > div:nth-child(1)')); + var CancelButton = element(by.css('.btn-outline-primary')); + var SaveButton = element(by.css('.btn:nth-child(2)')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageSimulationsTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Simulations'); + expect(AddNewSimulationsTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewSimulationsTab.getText()).toEqual('ADD NEW SIMULATION'); + expect(EditExistingSimulationsTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingSimulationsTab.getText()).toEqual('EDIT EXISTING SIMULATION'); + expect(await SimulationNameLabel.getText()).toEqual('Simulation Name*'); + await SimulationNameTextBox.sendKeys(browser.params.simulation).then(function() { + browser.sleep(1500); + }); + expect(await SimulationStartDateLabel.getText()).toEqual('Start Date/Time*'); + expect(await SimulationStartDateTextBox.getAttribute('placeholder')).toEqual('mm/dd/yyyy --:-- --'); + await SimulationStartDateTextBox.sendKeys(browser.params.simulationStartEndDate).then(function() { + browser.sleep(1500); + }); + await SimulationStartDateTextBox.sendKeys(protractor.Key.TAB).then(function() { + browser.sleep(1500); + }); + await SimulationStartTimeTextBox.sendKeys('0800AM').then(function() { + browser.sleep(1000); + }); + expect(await SimulationEndDateLabel.getText()).toEqual('End Date/Time*'); + expect(await SimulationEndDateTextBox.getAttribute('placeholder')).toEqual('mm/dd/yyyy --:-- --'); + await SimulationStartDateTextBox.sendKeys(protractor.Key.TAB).then(function() { + browser.sleep(1500); + }); + await SimulationEndDateTextBox.sendKeys(browser.params.simulationStartEndDate).then(function() { + browser.sleep(1500); + }); + await SimulationEndDateTextBox.sendKeys(protractor.Key.TAB).then(function() { + browser.sleep(1500); + }); + await SimulationEndTimeTextBox.sendKeys('1000PM').then(function() { + browser.sleep(1500); + }); + expect(await MaximumStudentsLabel.getText()).toEqual('Maximum Students*'); + expect(await MaximumStudentsTextBox.getAttribute('value')).toEqual('0'); + await MaximumStudentsTextBox.clear().then(function() { + browser.sleep(1500); + }); + await MaximumStudentsTextBox.sendKeys('25').then(function() { + browser.sleep(1500); + }); + expect(await MaximumOccupationsLabel.getText()).toEqual('Maximum Occupations'); + expect(await MaximumOccupationsTextBox.getAttribute('value')).toEqual('179'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await ClassColumnHeader.getText()).toEqual('Class'); + expect(await SchoolColumnHeader.getText()).toEqual('School'); + expect(await ConnectionCodeColumnHeader.getText()).toEqual('Connection Code'); + expect(await ClassSizeColumnHeader.getText()).toEqual('Class Size'); + expect(await EnrolledStudentsColumnHeader.getText()).toEqual('Enrolled Students'); + expect(await SearchAddClassByNameSchoolOrTeacherTextBox.getAttribute('placeholder')).toEqual('Search and Add a Class by name, school, or teacher'); + expect(await TotalLabel.getText()).toEqual('Total:'); + expect(await ClassSizeCount.getText()).toEqual('0'); + expect(await EnrolledStudentsCount.getText()).toEqual('0'); + await SearchAddClassByNameSchoolOrTeacherTextBox.sendKeys('Automated Class142021').then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedClass.click().then(function() { + browser.sleep(2500); + var alertDialog = browser.switchTo().alert(); + expect(alertDialog.getText()).toEqual('This class is already in New Year Simulation. Are you sure you want to move it to this simulation?'); + browser.switchTo().alert().dismiss(); + browser.sleep(2500); + }); + await SearchAddClassByNameSchoolOrTeacherTextBox.sendKeys(browser.params.class).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedClass.click().then(function() { + browser.sleep(2500); + }); + expect(await TotalLabel.getText()).toEqual('Total:'); + expect(await ClassSizeCount.getText()).toEqual('25'); + expect(await EnrolledStudentsCount.getText()).toEqual('1'); + expect(await ClassNameAdded.getText()).toEqual(browser.params.class + ' 5'); + expect(await SchoolNameAdded.getText()).toEqual(browser.params.school); + expect(await ClassSizeAdded.getText()).toEqual('25'); + expect(await EnrolledStudentAdded.getText()).toEqual('1'); + expect(await TotalLabel.getText()).toEqual('Total:'); + expect(await ClassSizeCount.getText()).toEqual('25'); + expect(await EnrolledStudentsCount.getText()).toEqual('1'); + expect(await IndicatesRequiredFieldsLabel.getText()).toEqual('* indicates require fields.'); + 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()).toEqual('New simulation has been saved successfully.'); + browser.switchTo().alert().accept(); + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Simulations'); + expect(AddNewSimulationsTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await AddNewSimulationsTab.getText()).toEqual('ADD NEW SIMULATION'); + expect(EditExistingSimulationsTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await EditExistingSimulationsTab.getText()).toEqual('EDIT EXISTING SIMULATION'); + expect(await SimulationNameLabel.getText()).toEqual('Simulation Name*'); + expect(await SimulationStartDateLabel.getText()).toEqual('Start Date/Time*'); + expect(await SimulationStartDateTextBox.getAttribute('placeholder')).toEqual('mm/dd/yyyy --:-- --'); + expect(await SimulationEndDateLabel.getText()).toEqual('End Date/Time*'); + expect(await SimulationEndDateTextBoxTwo.getAttribute('placeholder')).toEqual('mm/dd/yyyy --:-- --'); + expect(await MaximumStudentsLabel.getText()).toEqual('Maximum Students*'); + expect(await MaximumStudentsTextBox.getAttribute('value')).toEqual('0'); + expect(await MaximumOccupationsLabel.getText()).toEqual('Maximum Occupations'); + expect(await MaximumOccupationsTextBox.getAttribute('value')).toEqual('179'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await ClassColumnHeader.getText()).toEqual('Class'); + expect(await SchoolColumnHeader.getText()).toEqual('School'); + expect(await ConnectionCodeColumnHeader.getText()).toEqual('Connection Code'); + expect(await ClassSizeColumnHeader.getText()).toEqual('Class Size'); + expect(await EnrolledStudentsColumnHeader.getText()).toEqual('Enrolled Students'); + expect(await SearchAddClassByNameSchoolOrTeacherTextBoxTwo.getAttribute('placeholder')).toEqual('Search and Add a Class by name, school, or teacher'); + expect(await TotalLabel.getText()).toEqual('Total:'); + expect(await ClassSizeCount.getText()).toEqual('0'); + expect(await EnrolledStudentsCount.getText()).toEqual('0'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await EditExistingSimulationsTab.click().then(function() { + browser.sleep(2500); + }); + expect(await ExistingSearchTextBox.getAttribute('placeholder')).toEqual('Search for and select a simulation to edit'); + await ExistingSearchTextBox.sendKeys(browser.params.simulation).then(function() { + browser.sleep(1500); + }); + await SelectNewlyCreatedSimulation.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Simulations'); + expect(AddNewSimulationsTab.getCssValue('background-color')).toBe('rgba(138, 105, 131, 1)'); //purple: clickable + expect(await AddNewSimulationsTab.getText()).toEqual('ADD NEW SIMULATION'); + expect(EditExistingSimulationsTab.getCssValue('background-color')).toBe('rgba(255, 255, 255, 1)'); //white: active + expect(await EditExistingSimulationsTab.getText()).toEqual('EDIT EXISTING SIMULATION'); + expect(await SimulationNameLabel.getText()).toEqual('Simulation Name*'); + expect(await SimulationNameTextBox.getAttribute('value')).toEqual(browser.params.simulation); + expect(await SimulationStartDateLabel.getText()).toEqual('Start Date/Time*'); + expect(await SimulationStartDateTextBoxTwo.getAttribute('value')).toEqual(browser.params.simulationStartDateTime); + expect(await SimulationEndDateLabel.getText()).toEqual('End Date/Time*'); + expect(await SimulationEndTimeTextBoxTwo.getAttribute('value')).toEqual(browser.params.simulationEndDateTime); + expect(await MaximumStudentsLabel.getText()).toEqual('Maximum Students*'); + expect(await MaximumStudentsTextBox.getAttribute('value')).toEqual('25'); + expect(await MaximumOccupationsLabel.getText()).toEqual('Maximum Occupations'); + expect(await MaximumOccupationsTextBox.getAttribute('value')).toEqual('179'); + expect(await RemoveColumnHeader.getText()).toEqual('Remove'); + expect(await ClassColumnHeader.getText()).toEqual('Class'); + expect(await SchoolColumnHeader.getText()).toEqual('School'); + expect(await ConnectionCodeColumnHeader.getText()).toEqual('Connection Code'); + expect(await ClassSizeColumnHeader.getText()).toEqual('Class Size'); + expect(await EnrolledStudentsColumnHeader.getText()).toEqual('Enrolled Students'); + expect(await SearchAddClassByNameSchoolOrTeacherTextBox.getAttribute('placeholder')).toEqual('Search and Add a Class by name, school, or teacher'); + expect(await ClassNameAdded.getText()).toEqual(browser.params.class + ' P-5'); + expect(await SchoolNameAdded.getText()).toEqual(browser.params.school); + //expect(await ConnectionCodeAdded.getText()).toEqual('Q6XI4H7D'); + expect(await ClassSizeAdded.getText()).toEqual('25'); + expect(await EnrolledStudentsCount.getText()).toEqual('1'); + expect(await TotalLabel.getText()).toEqual('Total:'); + expect(await ClassSizeCount.getText()).toEqual('25'); + expect(await EnrolledStudentsCount.getText()).toEqual('1'); + expect(await IndicatesRequiredFieldsLabelTwo.getText()).toEqual('* indicates require fields.'); + expect(await CancelButton.getText()).toEqual('CANCEL'); + expect(await SaveButton.getText()).toEqual('SAVE'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function ManageReports() { + it(': ManageReports, should interact with Manage Reports page, select validate report.', async function () { + var ManageReportsTile = element(by.css('.col-lg-2:nth-child(7) tr:nth-child(1) > td')); + var PageTitle = element(by.css('#title')); + var PageSubTitle = element(by.css('.bg-secondary')); + var SelectASimulationLabel = element(by.css('.row > .col-12:nth-child(1)')); + var SelectASimulationTextBox = element(by.name('SelectedSimulation')); + var SelectSimulation = element(by.id('ngb-typeahead-37-0')); + var SelectASchoolLabel = element(by.css('.row:nth-child(2) > .col-12:nth-child(2)')); + var SelectASchoolTextBox = element(by.name('SelectedSchool')); + var SelectATeacherLabel = element(by.css('.col-12:nth-child(3)')); + var SelectATeacherTextBox = element(by.name('SelectedTeacher')); + var SelectAClassLabel = element(by.css('.col-12:nth-child(4)')); + var SelectAClassTextBox = element(by.name('SelectedClass')); + var StudentNameHeaderColumn = element(by.css('th:nth-child(1)')); + var StudentNameOne = element(by.css('td:nth-child(1)')); + var StudentNameTwo = element(by.css('tr:nth-child(2) > td:nth-child(1)')); + var StudentNameThree = element(by.css('tr:nth-child(3) > td:nth-child(1)')); + var StudentNameFour = element(by.css('tr:nth-child(4) > td:nth-child(1)')); + var StudentNameFive = element(by.css('tr:nth-child(5) > td:nth-child(1)')); + var StudentNameSix = element(by.css('tr:nth-child(6) > td:nth-child(1)')); + var StudentNameSeven = element(by.css('tr:nth-child(7) > td:nth-child(1)')); + var StudentNameEight = element(by.css('tr:nth-child(8) > td:nth-child(1)')); + var PreTestHeaderColumn = element(by.css('th:nth-child(2)')); + var PreTestOne = element(by.css('td:nth-child(2) > span')); + var PreTestCompleteLinkOne = element(by.css('tr:nth-child(1) a')); + var PrePostTestDIVTotalPointsLabel = element(by.css('td:nth-child(1) > div > div > div:nth-child(1)')); + var PrePostTestDIVTotalPointsData = element(by.css('td:nth-child(1) div:nth-child(2)')); + var PrePostTestDIVTitle = element(by.css('table > tr > td:nth-child(2)')); + var PrePostTestDIVTotalScoreLabel = element(by.css('td:nth-child(3) > div > div > div:nth-child(1)')); + var PrePostTestDIVTotalScoreData = element(by.css('td:nth-child(3) div:nth-child(2)')); + var PrePostTestDIVQuestionColumnHeader = element(by.css('.sticky-top:nth-child(2)')); + var PrePostTestDIVAnswerColumnHeader = element(by.css('.sticky-top:nth-child(3)')); + var PrePostTestDIVPointsColumnHeader = element(by.css('.sticky-top:nth-child(4)')); + var PrePostTestDIVQuestionNumberOne = element(by.css('.ng-star-inserted:nth-child(1) > td:nth-child(1)')); + var PrePostTestDIVQuestionOne = element(by.css('.ng-star-inserted:nth-child(1) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerOne = element(by.css('.ng-star-inserted:nth-child(1) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredOne = element(by.css('.ng-star-inserted:nth-child(1) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberTwo = element(by.css('.ng-star-inserted:nth-child(2) > td:nth-child(1)')); + var PrePostTestDIVQuestionTwo = element(by.css('.ng-star-inserted:nth-child(2) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerTwo = element(by.css('.ng-star-inserted:nth-child(2) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredTwo = element(by.css('.ng-star-inserted:nth-child(2) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberThree = element(by.css('.ng-star-inserted:nth-child(3) > td:nth-child(1)')); + var PrePostTestDIVQuestionThree = element(by.css('.ng-star-inserted:nth-child(3) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerThree = element(by.css('.ng-star-inserted:nth-child(3) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredThree = element(by.css('.ng-star-inserted:nth-child(3) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberFour = element(by.css('.ng-star-inserted:nth-child(4) > td:nth-child(1)')); + var PrePostTestDIVQuestionFour = element(by.css('.ng-star-inserted:nth-child(4) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerFour = element(by.css('.ng-star-inserted:nth-child(4) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredFour = element(by.css('.ng-star-inserted:nth-child(4) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberFive = element(by.css('.ng-star-inserted:nth-child(5) > td:nth-child(1)')); + var PrePostTestDIVQuestionFive = element(by.css('.ng-star-inserted:nth-child(5) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerFive = element(by.css('.ng-star-inserted:nth-child(5) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredFive = element(by.css('.ng-star-inserted:nth-child(5) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberSix = element(by.css('.ng-star-inserted:nth-child(6) > td:nth-child(1)')); + var PrePostTestDIVQuestionSix = element(by.css('.ng-star-inserted:nth-child(6) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerSix = element(by.css('.ng-star-inserted:nth-child(6) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredSix = element(by.css('.ng-star-inserted:nth-child(6) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberSeven = element(by.css('.ng-star-inserted:nth-child(7) > td:nth-child(1)')); + var PrePostTestDIVQuestionSeven = element(by.css('.ng-star-inserted:nth-child(7) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerSeven = element(by.css('.ng-star-inserted:nth-child(7) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredSeven = element(by.css('.ng-star-inserted:nth-child(7) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberEight = element(by.css('.ng-star-inserted:nth-child(8) > td:nth-child(1)')); + var PrePostTestDIVQuestionEight = element(by.css('.ng-star-inserted:nth-child(8) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerEight = element(by.css('.ng-star-inserted:nth-child(8) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredEight = element(by.css('.ng-star-inserted:nth-child(8) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberNine = element(by.css('.ng-star-inserted:nth-child(9) > td:nth-child(1)')); + var PrePostTestDIVQuestionNine = element(by.css('.ng-star-inserted:nth-child(9) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerNine = element(by.css('.ng-star-inserted:nth-child(9) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredNine = element(by.css('.ng-star-inserted:nth-child(9) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberTen = element(by.css('.ng-star-inserted:nth-child(10) > td:nth-child(1)')); + var PrePostTestDIVQuestionTen = element(by.css('.ng-star-inserted:nth-child(10) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerTen = element(by.css('.ng-star-inserted:nth-child(10) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredTen = element(by.css('.ng-star-inserted:nth-child(10) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberEleven = element(by.css('.ng-star-inserted:nth-child(11) > td:nth-child(1)')); + var PrePostTestDIVQuestionEleven = element(by.css('.ng-star-inserted:nth-child(11) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerEleven = element(by.css('.ng-star-inserted:nth-child(11) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredEleven = element(by.css('.ng-star-inserted:nth-child(11) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberTwelve = element(by.css('.ng-star-inserted:nth-child(12) > td:nth-child(1)')); + var PrePostTestDIVQuestionTwelve = element(by.css('.ng-star-inserted:nth-child(12) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerTwelve = element(by.css('.ng-star-inserted:nth-child(12) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredTwelve = element(by.css('.ng-star-inserted:nth-child(12) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberThirteen = element(by.css('.ng-star-inserted:nth-child(13) > td:nth-child(1)')); + var PrePostTestDIVQuestionThirteen = element(by.css('.ng-star-inserted:nth-child(13) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerThirteen = element(by.css('.ng-star-inserted:nth-child(13) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredThirteen = element(by.css('.ng-star-inserted:nth-child(13) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberFourteen = element(by.css('.ng-star-inserted:nth-child(14) > td:nth-child(1)')); + var PrePostTestDIVQuestionFourteen = element(by.css('.ng-star-inserted:nth-child(14) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerFourteen = element(by.css('.ng-star-inserted:nth-child(14) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredFourteen = element(by.css('.ng-star-inserted:nth-child(14) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberFifteen = element(by.css('.ng-star-inserted:nth-child(15) > td:nth-child(1)')); + var PrePostTestDIVQuestionFifteen = element(by.css('.ng-star-inserted:nth-child(15) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerFifteen = element(by.css('.ng-star-inserted:nth-child(15) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredFifteen = element(by.css('.ng-star-inserted:nth-child(15) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberSixteen = element(by.css('.ng-star-inserted:nth-child(16) > td:nth-child(1)')); + var PrePostTestDIVQuestionSixteen = element(by.css('.ng-star-inserted:nth-child(16) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerSixteen = element(by.css('.ng-star-inserted:nth-child(16) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredSixteen = element(by.css('.ng-star-inserted:nth-child(16) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberSeventeen = element(by.css('.ng-star-inserted:nth-child(17) > td:nth-child(1)')); + var PrePostTestDIVQuestionSeventeen = element(by.css('.ng-star-inserted:nth-child(17) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerSeventeen = element(by.css('.ng-star-inserted:nth-child(17) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredSeventeen = element(by.css('.ng-star-inserted:nth-child(17) > td:nth-child(4)')); + var PrePostTestDIVQuestionNumberEighteen = element(by.css('.ng-star-inserted:nth-child(18) > td:nth-child(1)')); + var PrePostTestDIVQuestionEighteen = element(by.css('.ng-star-inserted:nth-child(18) > td:nth-child(2)')); + var PrePostTestDIVSelectedAnswerEighteen = element(by.css('.ng-star-inserted:nth-child(18) > td:nth-child(3)')); + var PrePostTestDIVPointsScoredEighteen = element(by.css('.ng-star-inserted:nth-child(18) > td:nth-child(4)')); + var DIVOKButton = element(by.css('div > .btn-primary')); + var PreTestTwo = element(by.css('tr:nth-child(2) > td:nth-child(2) > span')); + var PreTestThree = element(by.css('tr:nth-child(3) > td:nth-child(2) > span')); + var PreTestCompleteLinkThree = element(by.css('tr:nth-child(3) > td:nth-child(2) a')); + var PreTestFour = element(by.css('tr:nth-child(4) > td:nth-child(2) > span')); + var PreTestFive = element(by.css('tr:nth-child(5) > td:nth-child(2) > span')); + var PreTestCompleteLinkFive = element(by.css('tr:nth-child(5) > td:nth-child(2) a')); + var PreTestSix = element(by.css('tr:nth-child(6) > td:nth-child(2) > span')); + var PreTestCompleteLinkSix = element(by.css('tr:nth-child(6) a')); + var PreTestSeven = element(by.css('tr:nth-child(7) > td:nth-child(2) > span')); + var PreTestEight = element(by.css('tr:nth-child(8) > td:nth-child(2) > span')); + var InterestSurveyHeaderColumn = element(by.css('th:nth-child(3)')); + var InterstSurveyOne = element(by.css('td:nth-child(3)')); + var InterstSurveyTwo = element(by.css('tr:nth-child(2) > td:nth-child(3)')); + var InterstSurveyFour = element(by.css('tr:nth-child(4) > td:nth-child(3)')); + var InterstSurveyFive = element(by.css('tr:nth-child(5) > td:nth-child(3)')); + var InterstSurveySix = element(by.css('tr:nth-child(6) > td:nth-child(3)')); + var InterstSurveySeven = element(by.css('tr:nth-child(7) > td:nth-child(3)')); + var InterstSurveyEight = element(by.css('tr:nth-child(8) > td:nth-child(3)')); + var SkillsQuizHeaderColumn = element(by.css('th:nth-child(4)')); + var SkillsQuizOne = element(by.css('td:nth-child(4)')); + var SkillsQuizTwo = element(by.css('tr:nth-child(2) > td:nth-child(4)')); + var SkillsQuizThree = element(by.css('tr:nth-child(3) > td:nth-child(4)')); + var SkillsQuizFour = element(by.css('tr:nth-child(4) > td:nth-child(4)')); + var SkillsQuizFive = element(by.css('tr:nth-child(5) > td:nth-child(4)')); + var SkillsQuizSix = element(by.css('tr:nth-child(6) > td:nth-child(4)')); + var SkillsQuizSeven = element(by.css('tr:nth-child(7) > td:nth-child(4)')); + var SkillsQuizEight = element(by.css('tr:nth-child(8) > td:nth-child(4)')); + var CareerSelectionHeaderColumn = element(by.css('th:nth-child(5)')); + var CareerSelectionOne = element(by.css('td:nth-child(5) > span')); + var CareerSelectionTwo = element(by.css('tr:nth-child(2) > td:nth-child(5) > span')); + var CareerSelectionThree = element(by.css('tr:nth-child(3) > td:nth-child(5) > span')); + var CareerSelectedLinkThree = element(by.css('tr:nth-child(3) > td:nth-child(5) a')); + var CareerSelectedDIVCareerSelectedTitle = element(by.css('.ng-star-inserted > div > div:nth-child(1)')); + var CareerSelectedDIVCareerSelectedLabel = element(by.css('.ng-star-inserted > div > div > div > div:nth-child(1)')); + var CareerSelectedDIVCareerSelectedData = element(by.css('.ng-star-inserted > div > div div:nth-child(2)')); + var CareerSelectedDIVCareerSelectedAccountNumberLabel = element(by.css('div:nth-child(1) > div > div > div:nth-child(3)')); + var CareerSelectedDIVCareerSelectedAccountNumberData = element(by.css('div:nth-child(1) > div:nth-child(4)')); + var CareerSelectionFour = element(by.css('tr:nth-child(4) > td:nth-child(5) > span')); + var CareerSelectionFive = element(by.css('tr:nth-child(5) > td:nth-child(5) > span')); + var CareerSelectedLinkFive = element(by.css('tr:nth-child(5) > td:nth-child(5) a')); + var CareerSelectionSix = element(by.css('tr:nth-child(6) > td:nth-child(5) > span')); + var CareerSelectionSeven = element(by.css('tr:nth-child(7) > td:nth-child(5) > span')); + var CareerSelectionEight = element(by.css('tr:nth-child(8) > td:nth-child(5) > span')); + var PostTestHeaderColumn = element(by.css('th:nth-child(6)')); + var PostTestOne = element(by.css('td:nth-child(6) > span')); + var PostTestTwo = element(by.css('tr:nth-child(2) > td:nth-child(6) > span')); + var PostTestThree = element(by.css('tr:nth-child(3) > td:nth-child(6) > span')); + var PostTestCompleteLinkThree = element(by.css('td:nth-child(6) a')); + var PostTestFour = element(by.css('tr:nth-child(4) > td:nth-child(6) > span')); + var PostTestFive = element(by.css('tr:nth-child(5) > td:nth-child(6) > span')); + var PostTestSix = element(by.css('tr:nth-child(6) > td:nth-child(6) > span')); + var PostTestSeven = element(by.css('tr:nth-child(7) > td:nth-child(6) > span')); + var PostTestEight = element(by.css('tr:nth-child(8) > td:nth-child(6) > span')); + var BackToAdminDashboardLinkText = element(by.linkText('BACK TO ADMIN DASHBOARD')); + + await ManageReportsTile.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Manage Reports'); + expect(await PageSubTitle.getText()).toEqual('Most Recent Simulation'); + expect(await SelectASimulationLabel.getText()).toEqual('Select a Simulation'); + expect(await SelectASimulationTextBox.getAttribute('value')).toEqual('Xerox Simulation'); + expect(await SelectASchoolLabel.getText()).toContain('Select a School'); + expect(await SelectASchoolTextBox.getAttribute('value')).toEqual('0: '); + expect(await SelectATeacherLabel.getText()).toContain('Select a Teacher'); + expect(await SelectATeacherTextBox.getAttribute('value')).toEqual('0: '); + expect(await SelectAClassLabel.getText()).toContain('Select a Class'); + expect(await SelectAClassTextBox.getAttribute('value')).toEqual('0: '); + expect(await StudentNameHeaderColumn.getText()).toEqual('STUDENT NAME'); + expect(await PreTestHeaderColumn.getText()).toEqual('PRE TEST'); + expect(await InterestSurveyHeaderColumn.getText()).toEqual('INTEREST SURVEY'); + expect(await SkillsQuizHeaderColumn.getText()).toEqual('SKILLS QUIZ'); + expect(await CareerSelectionHeaderColumn.getText()).toEqual('CAREER SELECTION'); + expect(await PostTestHeaderColumn.getText()).toEqual('POST TEST'); + //Retrieve Existing Simulation Report - Automated Simulation 1520211510 + await SelectASimulationTextBox.click().then(function() { + browser.sleep(2500); + }); + await SelectASimulationTextBox.sendKeys(protractor.Key.CONTROL, "a").then(function() { + browser.sleep(1000); + }); + await SelectASimulationTextBox.sendKeys(protractor.Key.DELETE).then(function() { + browser.sleep(1000); + }); + await SelectASimulationTextBox.sendKeys('Automated Simulation 1520211510').then(function() { + browser.sleep(1500); + }); + await SelectSimulation.click().then(function() { + browser.sleep(2500); + }); + await SelectASchoolTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', 'Automated School 1520211510 (The Matrix)')).click(); + await SelectATeacherTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', 'T-800 Automated1520211510')).click(); + await SelectAClassTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', 'Automated Class 1520211510 5')).click(); + await SelectAClassLabel.click().then(function() { + browser.sleep(2500); + }); + expect(await StudentNameOne.getText()).toEqual('Ash Alien'); + expect(await PreTestOne.getText()).toEqual('Complete'); + await PreTestCompleteLinkOne.click().then(function() { + browser.sleep(2500); + }); + expect(await PrePostTestDIVTotalPointsLabel.getText()).toEqual('Total Points'); + expect(await PrePostTestDIVTotalPointsData.getText()).toEqual('49'); + expect(await PrePostTestDIVTitle.getText()).toEqual('Pre Test'); + expect(await PrePostTestDIVTotalScoreLabel.getText()).toEqual('Score'); + expect(await PrePostTestDIVTotalScoreData.getText()).toEqual('98%'); + expect(await PrePostTestDIVQuestionColumnHeader.getText()).toEqual('Question'); + expect(await PrePostTestDIVAnswerColumnHeader.getText()).toEqual('Answer'); + expect(await PrePostTestDIVPointsColumnHeader.getText()).toEqual('Points'); + expect(await PrePostTestDIVQuestionNumberOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionOne.getText()).toEqual('Career planning is done'); + expect(await PrePostTestDIVSelectedAnswerOne.getText()).toEqual('Throughout a lifetime'); + expect(await PrePostTestDIVPointsScoredOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTwo.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionTwo.getText()).toEqual('What are the three main types of taxes?'); + expect(await PrePostTestDIVSelectedAnswerTwo.getText()).toEqual('Income, sales, and property'); + expect(await PrePostTestDIVPointsScoredTwo.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberThree.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionThree.getText()).toEqual('The total amount of income made over one year after all taxes and deductions have been subtracted is:'); + expect(await PrePostTestDIVSelectedAnswerThree.getText()).toEqual('Net annual income'); + expect(await PrePostTestDIVPointsScoredThree.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFour.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionFour.getText()).toEqual('When it comes to personal savings, what does PYF stand for?'); + expect(await PrePostTestDIVSelectedAnswerFour.getText()).toEqual('Pay Yourself First'); + expect(await PrePostTestDIVPointsScoredFour.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFive.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionFive.getText()).toEqual('Which of the following might be a bad credit score'); + expect(await PrePostTestDIVSelectedAnswerFive.getText()).toEqual('550'); + expect(await PrePostTestDIVPointsScoredFive.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSix.getText()).toEqual('6'); + expect(await PrePostTestDIVQuestionSix.getText()).toEqual('To protect yourself against risk which of the following are the best choices:'); + expect(await PrePostTestDIVSelectedAnswerSix.getText()).toEqual('Both A and B'); + expect(await PrePostTestDIVPointsScoredSix.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSeven.getText()).toEqual('7'); + expect(await PrePostTestDIVQuestionSeven.getText()).toEqual('A record of income and expenditures for a given periord of time is:'); + expect(await PrePostTestDIVSelectedAnswerSeven.getText()).toEqual('Budget'); + expect(await PrePostTestDIVPointsScoredSeven.getText()).toEqual('1'); + browser.actions().mouseMove(PrePostTestDIVQuestionNumberEighteen).perform().then(function() { + browser.sleep(1000); + }); + expect(await PrePostTestDIVQuestionNumberEight.getText()).toEqual('8'); + expect(await PrePostTestDIVQuestionEight.getText()).toEqual('When budgeting, the first categories to consider are those that meet your:'); + expect(await PrePostTestDIVSelectedAnswerEight.getText()).toEqual('Needs'); + expect(await PrePostTestDIVPointsScoredEight.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberNine.getText()).toEqual('9'); + expect(await PrePostTestDIVQuestionNine.getText()).toEqual('Which factor is one way you should base decisions on where to invest your money:'); + expect(await PrePostTestDIVSelectedAnswerNine.getText()).toEqual('Interest earned vs. risk'); + expect(await PrePostTestDIVPointsScoredNine.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTen.getText()).toEqual('10'); + expect(await PrePostTestDIVQuestionTen.getText()).toEqual('I use a budget'); + expect(await PrePostTestDIVSelectedAnswerTen.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredTen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberEleven.getText()).toEqual('11'); + expect(await PrePostTestDIVQuestionEleven.getText()).toEqual('I save money for the future'); + expect(await PrePostTestDIVSelectedAnswerEleven.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredEleven.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberTwelve.getText()).toEqual('12'); + expect(await PrePostTestDIVQuestionTwelve.getText()).toEqual('Starting to set my career goals now is important to me'); + expect(await PrePostTestDIVSelectedAnswerTwelve.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredTwelve.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberThirteen.getText()).toEqual('13'); + expect(await PrePostTestDIVQuestionThirteen.getText()).toEqual('I understand why I should start saving for retirement as soon as possible'); + expect(await PrePostTestDIVSelectedAnswerThirteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredThirteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFourteen.getText()).toEqual('14'); + expect(await PrePostTestDIVQuestionFourteen.getText()).toEqual('I understand the choices I have to make to benefit from having good credit'); + expect(await PrePostTestDIVSelectedAnswerFourteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFourteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFifteen.getText()).toEqual('15'); + expect(await PrePostTestDIVQuestionFifteen.getText()).toEqual('I expect to further my education after high school'); + expect(await PrePostTestDIVSelectedAnswerFifteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFifteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSixteen.getText()).toEqual('16'); + expect(await PrePostTestDIVQuestionSixteen.getText()).toEqual('I understand how to reach my financial and career goals'); + expect(await PrePostTestDIVSelectedAnswerSixteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSixteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSeventeen.getText()).toEqual('17'); + expect(await PrePostTestDIVQuestionSeventeen.getText()).toEqual('I feel confident in my ability to manage my money'); + expect(await PrePostTestDIVSelectedAnswerSeventeen.getText()).toEqual('Agree'); + expect(await PrePostTestDIVPointsScoredSeventeen.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionNumberEighteen.getText()).toEqual('18'); + expect(await PrePostTestDIVQuestionEighteen.getText()).toEqual('I currently have or plan to open a savings account as soon as possible to support my financial goals'); + expect(await PrePostTestDIVSelectedAnswerEighteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredEighteen.getText()).toEqual('5'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await InterstSurveyOne.getText()).toEqual('Incomplete'); + expect(await SkillsQuizOne.getText()).toEqual('Incomplete'); + expect(await CareerSelectionOne.getText()).toEqual('Not Selected'); + expect(await PostTestOne.getText()).toEqual('Incomplete'); + expect(await StudentNameTwo.getText()).toEqual('ED209 RoboCop'); + expect(await PreTestTwo.getText()).toEqual('Incomplete'); + expect(await InterstSurveyTwo.getText()).toEqual('Incomplete'); + expect(await SkillsQuizTwo.getText()).toEqual('Incomplete'); + expect(await CareerSelectionTwo.getText()).toEqual('Not Selected'); + expect(await PostTestTwo.getText()).toEqual('Incomplete'); + expect(await StudentNameThree.getText()).toEqual('HAL 9000 Automated1520211510'); + expect(await PreTestThree.getText()).toEqual('Complete'); + await PreTestCompleteLinkThree.click().then(function() { + browser.sleep(2500); + }); + expect(await PrePostTestDIVTotalPointsLabel.getText()).toEqual('Total Points'); + expect(await PrePostTestDIVTotalPointsData.getText()).toEqual('43'); + expect(await PrePostTestDIVTitle.getText()).toEqual('Pre Test'); + expect(await PrePostTestDIVTotalScoreLabel.getText()).toEqual('Score'); + expect(await PrePostTestDIVTotalScoreData.getText()).toEqual('86%'); + expect(await PrePostTestDIVQuestionColumnHeader.getText()).toEqual('Question'); + expect(await PrePostTestDIVAnswerColumnHeader.getText()).toEqual('Answer'); + expect(await PrePostTestDIVPointsColumnHeader.getText()).toEqual('Points'); + expect(await PrePostTestDIVQuestionNumberOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionOne.getText()).toEqual('Career planning is done'); + expect(await PrePostTestDIVSelectedAnswerOne.getText()).toEqual('Throughout a lifetime'); + expect(await PrePostTestDIVPointsScoredOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTwo.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionTwo.getText()).toEqual('What are the three main types of taxes?'); + expect(await PrePostTestDIVSelectedAnswerTwo.getText()).toEqual('Unemployment, sales, and property'); + expect(await PrePostTestDIVPointsScoredTwo.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberThree.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionThree.getText()).toEqual('The total amount of income made over one year after all taxes and deductions have been subtracted is:'); + expect(await PrePostTestDIVSelectedAnswerThree.getText()).toEqual('Net annual income'); + expect(await PrePostTestDIVPointsScoredThree.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFour.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionFour.getText()).toEqual('When it comes to personal savings, what does PYF stand for?'); + expect(await PrePostTestDIVSelectedAnswerFour.getText()).toEqual('Prepare Your Finances'); + expect(await PrePostTestDIVPointsScoredFour.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberFive.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionFive.getText()).toEqual('Which of the following might be a bad credit score'); + expect(await PrePostTestDIVSelectedAnswerFive.getText()).toEqual('550'); + expect(await PrePostTestDIVPointsScoredFive.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSix.getText()).toEqual('6'); + expect(await PrePostTestDIVQuestionSix.getText()).toEqual('To protect yourself against risk which of the following are the best choices:'); + expect(await PrePostTestDIVSelectedAnswerSix.getText()).toEqual('Invest all of your money in a single stock'); + expect(await PrePostTestDIVPointsScoredSix.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberSeven.getText()).toEqual('7'); + expect(await PrePostTestDIVQuestionSeven.getText()).toEqual('A record of income and expenditures for a given periord of time is:'); + expect(await PrePostTestDIVSelectedAnswerSeven.getText()).toEqual('Interest'); + expect(await PrePostTestDIVPointsScoredSeven.getText()).toEqual('0'); + browser.actions().mouseMove(PrePostTestDIVQuestionNumberEighteen).perform().then(function() { + browser.sleep(1000); + }); + expect(await PrePostTestDIVQuestionNumberEight.getText()).toEqual('8'); + expect(await PrePostTestDIVQuestionEight.getText()).toEqual('When budgeting, the first categories to consider are those that meet your:'); + expect(await PrePostTestDIVSelectedAnswerEight.getText()).toEqual('Needs'); + expect(await PrePostTestDIVPointsScoredEight.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberNine.getText()).toEqual('9'); + expect(await PrePostTestDIVQuestionNine.getText()).toEqual('Which factor is one way you should base decisions on where to invest your money:'); + expect(await PrePostTestDIVSelectedAnswerNine.getText()).toEqual('Interest earned vs. risk'); + expect(await PrePostTestDIVPointsScoredNine.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTen.getText()).toEqual('10'); + expect(await PrePostTestDIVQuestionTen.getText()).toEqual('I use a budget'); + expect(await PrePostTestDIVSelectedAnswerTen.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredTen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberEleven.getText()).toEqual('11'); + expect(await PrePostTestDIVQuestionEleven.getText()).toEqual('I save money for the future'); + expect(await PrePostTestDIVSelectedAnswerEleven.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredEleven.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberTwelve.getText()).toEqual('12'); + expect(await PrePostTestDIVQuestionTwelve.getText()).toEqual('Starting to set my career goals now is important to me'); + expect(await PrePostTestDIVSelectedAnswerTwelve.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredTwelve.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberThirteen.getText()).toEqual('13'); + expect(await PrePostTestDIVQuestionThirteen.getText()).toEqual('I understand why I should start saving for retirement as soon as possible'); + expect(await PrePostTestDIVSelectedAnswerThirteen.getText()).toEqual('Agree'); + expect(await PrePostTestDIVPointsScoredThirteen.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionNumberFourteen.getText()).toEqual('14'); + expect(await PrePostTestDIVQuestionFourteen.getText()).toEqual('I understand the choices I have to make to benefit from having good credit'); + expect(await PrePostTestDIVSelectedAnswerFourteen.getText()).toEqual('Slightly agree'); + expect(await PrePostTestDIVPointsScoredFourteen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberFifteen.getText()).toEqual('15'); + expect(await PrePostTestDIVQuestionFifteen.getText()).toEqual('I expect to further my education after high school'); + expect(await PrePostTestDIVSelectedAnswerFifteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFifteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSixteen.getText()).toEqual('16'); + expect(await PrePostTestDIVQuestionSixteen.getText()).toEqual('I understand how to reach my financial and career goals'); + expect(await PrePostTestDIVSelectedAnswerSixteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSixteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSeventeen.getText()).toEqual('17'); + expect(await PrePostTestDIVQuestionSeventeen.getText()).toEqual('I feel confident in my ability to manage my money'); + expect(await PrePostTestDIVSelectedAnswerSeventeen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSeventeen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberEighteen.getText()).toEqual('18'); + expect(await PrePostTestDIVQuestionEighteen.getText()).toEqual('I currently have or plan to open a savings account as soon as possible to support my financial goals'); + expect(await PrePostTestDIVSelectedAnswerEighteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredEighteen.getText()).toEqual('5'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + await CareerSelectedLinkThree.click().then(function() { + browser.sleep(2500); + }); + expect(await CareerSelectedDIVCareerSelectedTitle.getText()).toEqual('Career Selection'); + expect(await CareerSelectedDIVCareerSelectedLabel.getText()).toEqual('Career'); + expect(await CareerSelectedDIVCareerSelectedData.getText()).toEqual('Information Security Analyst'); + expect(await CareerSelectedDIVCareerSelectedAccountNumberLabel.getText()).toEqual('Account Number'); + expect(await CareerSelectedDIVCareerSelectedAccountNumberData.getText()).toEqual('10115'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await SkillsQuizThree.getText()).toEqual('Complete'); + expect(await CareerSelectionThree.getText()).toEqual('Selected'); + expect(await PostTestThree.getText()).toEqual('Complete'); + await PostTestCompleteLinkThree.click().then(function() { + browser.sleep(2500); + }); + expect(await PrePostTestDIVTotalPointsLabel.getText()).toEqual('Total Points'); + expect(await PrePostTestDIVTotalPointsData.getText()).toEqual('49'); + expect(await PrePostTestDIVTitle.getText()).toEqual('Post Test'); + expect(await PrePostTestDIVTotalScoreLabel.getText()).toEqual('Score'); + expect(await PrePostTestDIVTotalScoreData.getText()).toEqual('98%'); + expect(await PrePostTestDIVQuestionColumnHeader.getText()).toEqual('Question'); + expect(await PrePostTestDIVAnswerColumnHeader.getText()).toEqual('Answer'); + expect(await PrePostTestDIVPointsColumnHeader.getText()).toEqual('Points'); + expect(await PrePostTestDIVQuestionNumberOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionOne.getText()).toEqual('Career planning is done'); + expect(await PrePostTestDIVSelectedAnswerOne.getText()).toEqual('Throughout a lifetime'); + expect(await PrePostTestDIVPointsScoredOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTwo.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionTwo.getText()).toEqual('What are the three main types of taxes?'); + expect(await PrePostTestDIVSelectedAnswerTwo.getText()).toEqual('Federal income, unemployment, and state'); + expect(await PrePostTestDIVPointsScoredTwo.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberThree.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionThree.getText()).toEqual('The total amount of income made over one year after all taxes and deductions have been subtracted is:'); + expect(await PrePostTestDIVSelectedAnswerThree.getText()).toEqual('Net annual income'); + expect(await PrePostTestDIVPointsScoredThree.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFour.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionFour.getText()).toEqual('When it comes to personal savings, what does PYF stand for?'); + expect(await PrePostTestDIVSelectedAnswerFour.getText()).toEqual('Pay Yourself First'); + expect(await PrePostTestDIVPointsScoredFour.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFive.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionFive.getText()).toEqual('Which of the following might be a bad credit score'); + expect(await PrePostTestDIVSelectedAnswerFive.getText()).toEqual('550'); + expect(await PrePostTestDIVPointsScoredFive.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSix.getText()).toEqual('6'); + expect(await PrePostTestDIVQuestionSix.getText()).toEqual('To protect yourself against risk which of the following are the best choices:'); + expect(await PrePostTestDIVSelectedAnswerSix.getText()).toEqual('Both A and B'); + expect(await PrePostTestDIVPointsScoredSix.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSeven.getText()).toEqual('7'); + expect(await PrePostTestDIVQuestionSeven.getText()).toEqual('A record of income and expenditures for a given periord of time is:'); + expect(await PrePostTestDIVSelectedAnswerSeven.getText()).toEqual('Budget'); + expect(await PrePostTestDIVPointsScoredSeven.getText()).toEqual('1'); + browser.actions().mouseMove(PrePostTestDIVQuestionNumberEighteen).perform().then(function() { + browser.sleep(1000); + }); + expect(await PrePostTestDIVQuestionNumberEight.getText()).toEqual('8'); + expect(await PrePostTestDIVQuestionEight.getText()).toEqual('When budgeting, the first categories to consider are those that meet your:'); + expect(await PrePostTestDIVSelectedAnswerEight.getText()).toEqual('Needs'); + expect(await PrePostTestDIVPointsScoredEight.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberNine.getText()).toEqual('9'); + expect(await PrePostTestDIVQuestionNine.getText()).toEqual('Which factor is one way you should base decisions on where to invest your money:'); + expect(await PrePostTestDIVSelectedAnswerNine.getText()).toEqual('Interest earned vs. risk'); + expect(await PrePostTestDIVPointsScoredNine.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTen.getText()).toEqual('10'); + expect(await PrePostTestDIVQuestionTen.getText()).toEqual('I plan to start using a personal budget'); + expect(await PrePostTestDIVSelectedAnswerTen.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredTen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberEleven.getText()).toEqual('11'); + expect(await PrePostTestDIVQuestionEleven.getText()).toEqual('I save money for the future'); + expect(await PrePostTestDIVSelectedAnswerEleven.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredEleven.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberTwelve.getText()).toEqual('12'); + expect(await PrePostTestDIVQuestionTwelve.getText()).toEqual('Starting to set my career goals now is important to me'); + expect(await PrePostTestDIVSelectedAnswerTwelve.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredTwelve.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberThirteen.getText()).toEqual('13'); + expect(await PrePostTestDIVQuestionThirteen.getText()).toEqual('I understand why I should start saving for retirement as soon as possible'); + expect(await PrePostTestDIVSelectedAnswerThirteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredThirteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFourteen.getText()).toEqual('14'); + expect(await PrePostTestDIVQuestionFourteen.getText()).toEqual('I understand the choices I have to make to benefit from having good credit'); + expect(await PrePostTestDIVSelectedAnswerFourteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFourteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFifteen.getText()).toEqual('15'); + expect(await PrePostTestDIVQuestionFifteen.getText()).toEqual('I expect to further my education after high school'); + expect(await PrePostTestDIVSelectedAnswerFifteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFifteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSixteen.getText()).toEqual('16'); + expect(await PrePostTestDIVQuestionSixteen.getText()).toEqual('I understand how to reach my financial and career goals'); + expect(await PrePostTestDIVSelectedAnswerSixteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSixteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSeventeen.getText()).toEqual('17'); + expect(await PrePostTestDIVQuestionSeventeen.getText()).toEqual('I feel confident in my ability to manage my money'); + expect(await PrePostTestDIVSelectedAnswerSeventeen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSeventeen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberEighteen.getText()).toEqual('18'); + expect(await PrePostTestDIVQuestionEighteen.getText()).toEqual('I plan to open a savings account as soon as possible to support my financial goals'); + expect(await PrePostTestDIVSelectedAnswerEighteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredEighteen.getText()).toEqual('5'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await StudentNameFour.getText()).toEqual('Roy Batty'); + expect(await PreTestFour.getText()).toEqual('Incomplete'); + expect(await InterstSurveyFour.getText()).toEqual('Incomplete'); + expect(await SkillsQuizFour.getText()).toEqual('Incomplete'); + expect(await CareerSelectionFour.getText()).toEqual('Not Selected'); + expect(await PostTestFour.getText()).toEqual('Incomplete'); + expect(await StudentNameFive.getText()).toEqual('Sentinels-Machines TheMatrix'); + expect(await PreTestFive.getText()).toEqual('Complete'); + await PreTestCompleteLinkFive.click().then(function() { + browser.sleep(2500); + }); + expect(await PrePostTestDIVTotalPointsLabel.getText()).toEqual('Total Points'); + expect(await PrePostTestDIVTotalPointsData.getText()).toEqual('49'); + expect(await PrePostTestDIVTitle.getText()).toEqual('Pre Test'); + expect(await PrePostTestDIVTotalScoreLabel.getText()).toEqual('Score'); + expect(await PrePostTestDIVTotalScoreData.getText()).toEqual('98%'); + expect(await PrePostTestDIVQuestionColumnHeader.getText()).toEqual('Question'); + expect(await PrePostTestDIVAnswerColumnHeader.getText()).toEqual('Answer'); + expect(await PrePostTestDIVPointsColumnHeader.getText()).toEqual('Points'); + expect(await PrePostTestDIVQuestionNumberOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionOne.getText()).toEqual('Career planning is done'); + expect(await PrePostTestDIVSelectedAnswerOne.getText()).toEqual('Throughout a lifetime'); + expect(await PrePostTestDIVPointsScoredOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTwo.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionTwo.getText()).toEqual('What are the three main types of taxes?'); + expect(await PrePostTestDIVSelectedAnswerTwo.getText()).toEqual('Income, sales, and property'); + expect(await PrePostTestDIVPointsScoredTwo.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberThree.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionThree.getText()).toEqual('The total amount of income made over one year after all taxes and deductions have been subtracted is:'); + expect(await PrePostTestDIVSelectedAnswerThree.getText()).toEqual('Gross annual income'); + expect(await PrePostTestDIVPointsScoredThree.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberFour.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionFour.getText()).toEqual('When it comes to personal savings, what does PYF stand for?'); + expect(await PrePostTestDIVSelectedAnswerFour.getText()).toEqual('Pay Yourself First'); + expect(await PrePostTestDIVPointsScoredFour.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFive.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionFive.getText()).toEqual('Which of the following might be a bad credit score'); + expect(await PrePostTestDIVSelectedAnswerFive.getText()).toEqual('550'); + expect(await PrePostTestDIVPointsScoredFive.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSix.getText()).toEqual('6'); + expect(await PrePostTestDIVQuestionSix.getText()).toEqual('To protect yourself against risk which of the following are the best choices:'); + expect(await PrePostTestDIVSelectedAnswerSix.getText()).toEqual('Both A and B'); + expect(await PrePostTestDIVPointsScoredSix.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSeven.getText()).toEqual('7'); + expect(await PrePostTestDIVQuestionSeven.getText()).toEqual('A record of income and expenditures for a given periord of time is:'); + expect(await PrePostTestDIVSelectedAnswerSeven.getText()).toEqual('Budget'); + expect(await PrePostTestDIVPointsScoredSeven.getText()).toEqual('1'); + browser.actions().mouseMove(PrePostTestDIVQuestionNumberEighteen).perform().then(function() { + browser.sleep(1000); + }); + expect(await PrePostTestDIVQuestionNumberEight.getText()).toEqual('8'); + expect(await PrePostTestDIVQuestionEight.getText()).toEqual('When budgeting, the first categories to consider are those that meet your:'); + expect(await PrePostTestDIVSelectedAnswerEight.getText()).toEqual('Needs'); + expect(await PrePostTestDIVPointsScoredEight.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberNine.getText()).toEqual('9'); + expect(await PrePostTestDIVQuestionNine.getText()).toEqual('Which factor is one way you should base decisions on where to invest your money:'); + expect(await PrePostTestDIVSelectedAnswerNine.getText()).toEqual('Interest earned vs. risk'); + expect(await PrePostTestDIVPointsScoredNine.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTen.getText()).toEqual('10'); + expect(await PrePostTestDIVQuestionTen.getText()).toEqual('I use a budget'); + expect(await PrePostTestDIVSelectedAnswerTen.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredTen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberEleven.getText()).toEqual('11'); + expect(await PrePostTestDIVQuestionEleven.getText()).toEqual('I save money for the future'); + expect(await PrePostTestDIVSelectedAnswerEleven.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredEleven.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberTwelve.getText()).toEqual('12'); + expect(await PrePostTestDIVQuestionTwelve.getText()).toEqual('Starting to set my career goals now is important to me'); + expect(await PrePostTestDIVSelectedAnswerTwelve.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredTwelve.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberThirteen.getText()).toEqual('13'); + expect(await PrePostTestDIVQuestionThirteen.getText()).toEqual('I understand why I should start saving for retirement as soon as possible'); + expect(await PrePostTestDIVSelectedAnswerThirteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredThirteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFourteen.getText()).toEqual('14'); + expect(await PrePostTestDIVQuestionFourteen.getText()).toEqual('I understand the choices I have to make to benefit from having good credit'); + expect(await PrePostTestDIVSelectedAnswerFourteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFourteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberFifteen.getText()).toEqual('15'); + expect(await PrePostTestDIVQuestionFifteen.getText()).toEqual('I expect to further my education after high school'); + expect(await PrePostTestDIVSelectedAnswerFifteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFifteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSixteen.getText()).toEqual('16'); + expect(await PrePostTestDIVQuestionSixteen.getText()).toEqual('I understand how to reach my financial and career goals'); + expect(await PrePostTestDIVSelectedAnswerSixteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSixteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSeventeen.getText()).toEqual('17'); + expect(await PrePostTestDIVQuestionSeventeen.getText()).toEqual('I feel confident in my ability to manage my money'); + expect(await PrePostTestDIVSelectedAnswerSeventeen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSeventeen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberEighteen.getText()).toEqual('18'); + expect(await PrePostTestDIVQuestionEighteen.getText()).toEqual('I currently have or plan to open a savings account as soon as possible to support my financial goals'); + expect(await PrePostTestDIVSelectedAnswerEighteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredEighteen.getText()).toEqual('5'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await InterstSurveyFive.getText()).toEqual('Complete'); + expect(await SkillsQuizFive.getText()).toEqual('Complete'); + expect(await CareerSelectionFive.getText()).toEqual('Selected'); + await CareerSelectedLinkFive.click().then(function() { + browser.sleep(2500); + }); + expect(await CareerSelectedDIVCareerSelectedTitle.getText()).toEqual('Career Selection'); + expect(await CareerSelectedDIVCareerSelectedLabel.getText()).toEqual('Career'); + expect(await CareerSelectedDIVCareerSelectedData.getText()).toEqual('Food Scientist & Technologist'); + expect(await CareerSelectedDIVCareerSelectedAccountNumberLabel.getText()).toEqual('Account Number'); + expect(await CareerSelectedDIVCareerSelectedAccountNumberData.getText()).toEqual('10094'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await PostTestFive.getText()).toEqual('Incomplete'); + expect(await StudentNameSix.getText()).toEqual('Skynet Terminator'); + expect(await PreTestSix.getText()).toEqual('Complete'); + await PreTestCompleteLinkSix.click().then(function() { + browser.sleep(2500); + }); + expect(await PrePostTestDIVTotalPointsLabel.getText()).toEqual('Total Points'); + expect(await PrePostTestDIVTotalPointsData.getText()).toEqual('44'); + expect(await PrePostTestDIVTitle.getText()).toEqual('Pre Test'); + expect(await PrePostTestDIVTotalScoreLabel.getText()).toEqual('Score'); + expect(await PrePostTestDIVTotalScoreData.getText()).toEqual('88%'); + expect(await PrePostTestDIVQuestionColumnHeader.getText()).toEqual('Question'); + expect(await PrePostTestDIVAnswerColumnHeader.getText()).toEqual('Answer'); + expect(await PrePostTestDIVPointsColumnHeader.getText()).toEqual('Points'); + expect(await PrePostTestDIVQuestionNumberOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionOne.getText()).toEqual('Career planning is done'); + expect(await PrePostTestDIVSelectedAnswerOne.getText()).toEqual('Throughout a lifetime'); + expect(await PrePostTestDIVPointsScoredOne.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTwo.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionTwo.getText()).toEqual('What are the three main types of taxes?'); + expect(await PrePostTestDIVSelectedAnswerTwo.getText()).toEqual('Income, sales, and property'); + expect(await PrePostTestDIVPointsScoredTwo.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberThree.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionThree.getText()).toEqual('The total amount of income made over one year after all taxes and deductions have been subtracted is:'); + expect(await PrePostTestDIVSelectedAnswerThree.getText()).toEqual('Net annual income'); + expect(await PrePostTestDIVPointsScoredThree.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFour.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionFour.getText()).toEqual('When it comes to personal savings, what does PYF stand for?'); + expect(await PrePostTestDIVSelectedAnswerFour.getText()).toEqual('Pay Yourself First'); + expect(await PrePostTestDIVPointsScoredFour.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberFive.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionFive.getText()).toEqual('Which of the following might be a bad credit score'); + expect(await PrePostTestDIVSelectedAnswerFive.getText()).toEqual('550'); + expect(await PrePostTestDIVPointsScoredFive.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSix.getText()).toEqual('6'); + expect(await PrePostTestDIVQuestionSix.getText()).toEqual('To protect yourself against risk which of the following are the best choices:'); + expect(await PrePostTestDIVSelectedAnswerSix.getText()).toEqual('Both A and B'); + expect(await PrePostTestDIVPointsScoredSix.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberSeven.getText()).toEqual('7'); + expect(await PrePostTestDIVQuestionSeven.getText()).toEqual('A record of income and expenditures for a given periord of time is:'); + expect(await PrePostTestDIVSelectedAnswerSeven.getText()).toEqual('Budget'); + expect(await PrePostTestDIVPointsScoredSeven.getText()).toEqual('1'); + browser.actions().mouseMove(PrePostTestDIVQuestionNumberEighteen).perform().then(function() { + browser.sleep(1000); + }); + expect(await PrePostTestDIVQuestionNumberEight.getText()).toEqual('8'); + expect(await PrePostTestDIVQuestionEight.getText()).toEqual('When budgeting, the first categories to consider are those that meet your:'); + expect(await PrePostTestDIVSelectedAnswerEight.getText()).toEqual('Important expenses'); + expect(await PrePostTestDIVPointsScoredEight.getText()).toEqual('0'); + expect(await PrePostTestDIVQuestionNumberNine.getText()).toEqual('9'); + expect(await PrePostTestDIVQuestionNine.getText()).toEqual('Which factor is one way you should base decisions on where to invest your money:'); + expect(await PrePostTestDIVSelectedAnswerNine.getText()).toEqual('Interest earned vs. risk'); + expect(await PrePostTestDIVPointsScoredNine.getText()).toEqual('1'); + expect(await PrePostTestDIVQuestionNumberTen.getText()).toEqual('10'); + expect(await PrePostTestDIVQuestionTen.getText()).toEqual('I use a budget'); + expect(await PrePostTestDIVSelectedAnswerTen.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredTen.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberEleven.getText()).toEqual('11'); + expect(await PrePostTestDIVQuestionEleven.getText()).toEqual('I save money for the future'); + expect(await PrePostTestDIVSelectedAnswerEleven.getText()).toEqual('Often'); + expect(await PrePostTestDIVPointsScoredEleven.getText()).toEqual('3'); + expect(await PrePostTestDIVQuestionNumberTwelve.getText()).toEqual('12'); + expect(await PrePostTestDIVQuestionTwelve.getText()).toEqual('Starting to set my career goals now is important to me'); + expect(await PrePostTestDIVSelectedAnswerTwelve.getText()).toEqual('Slightly disagree'); + expect(await PrePostTestDIVPointsScoredTwelve.getText()).toEqual('2'); + expect(await PrePostTestDIVQuestionNumberThirteen.getText()).toEqual('13'); + expect(await PrePostTestDIVQuestionThirteen.getText()).toEqual('I understand why I should start saving for retirement as soon as possible'); + expect(await PrePostTestDIVSelectedAnswerThirteen.getText()).toEqual('Agree'); + expect(await PrePostTestDIVPointsScoredThirteen.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionNumberFourteen.getText()).toEqual('14'); + expect(await PrePostTestDIVQuestionFourteen.getText()).toEqual('I understand the choices I have to make to benefit from having good credit'); + expect(await PrePostTestDIVSelectedAnswerFourteen.getText()).toEqual('Agree'); + expect(await PrePostTestDIVPointsScoredFourteen.getText()).toEqual('4'); + expect(await PrePostTestDIVQuestionNumberFifteen.getText()).toEqual('15'); + expect(await PrePostTestDIVQuestionFifteen.getText()).toEqual('I expect to further my education after high school'); + expect(await PrePostTestDIVSelectedAnswerFifteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredFifteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSixteen.getText()).toEqual('16'); + expect(await PrePostTestDIVQuestionSixteen.getText()).toEqual('I understand how to reach my financial and career goals'); + expect(await PrePostTestDIVSelectedAnswerSixteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSixteen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberSeventeen.getText()).toEqual('17'); + expect(await PrePostTestDIVQuestionSeventeen.getText()).toEqual('I feel confident in my ability to manage my money'); + expect(await PrePostTestDIVSelectedAnswerSeventeen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredSeventeen.getText()).toEqual('5'); + expect(await PrePostTestDIVQuestionNumberEighteen.getText()).toEqual('18'); + expect(await PrePostTestDIVQuestionEighteen.getText()).toEqual('I currently have or plan to open a savings account as soon as possible to support my financial goals'); + expect(await PrePostTestDIVSelectedAnswerEighteen.getText()).toEqual('Highly agree'); + expect(await PrePostTestDIVPointsScoredEighteen.getText()).toEqual('5'); + expect(await DIVOKButton.getText()).toEqual('OKAY'); + await DIVOKButton.click().then(function() { + browser.sleep(2500); + }); + expect(await InterstSurveySix.getText()).toEqual('Incomplete'); + expect(await SkillsQuizSix.getText()).toEqual('Incomplete'); + expect(await CareerSelectionSix.getText()).toEqual('Not Selected'); + expect(await PostTestSix.getText()).toEqual('Incomplete'); + expect(await StudentNameSeven.getText()).toEqual('TheBorg StarTrek'); + expect(await PreTestSeven.getText()).toEqual('Incomplete'); + expect(await InterstSurveySeven.getText()).toEqual('Incomplete'); + expect(await SkillsQuizSeven.getText()).toEqual('Incomplete'); + expect(await CareerSelectionSeven.getText()).toEqual('Not Selected'); + expect(await PostTestSeven.getText()).toEqual('Incomplete'); + expect(await StudentNameEight.getText()).toEqual('Thegunslinger Westworld'); + expect(await PreTestEight.getText()).toEqual('Incomplete'); + expect(await InterstSurveyEight.getText()).toEqual('Incomplete'); + expect(await SkillsQuizEight.getText()).toEqual('Incomplete'); + expect(await CareerSelectionEight.getText()).toEqual('Not Selected'); + expect(await PostTestEight.getText()).toEqual('Incomplete'); + //Run Newly Created Simulation + await SelectASimulationTextBox.click().then(function() { + browser.sleep(2500); + }); + await SelectASimulationTextBox.sendKeys(protractor.Key.CONTROL, "a").then(function() { + browser.sleep(1000); + }); + await SelectASimulationTextBox.sendKeys(protractor.Key.DELETE).then(function() { + browser.sleep(1000); + }); + await SelectASimulationTextBox.sendKeys(browser.params.simulation).then(function() { + browser.sleep(1500); + }); + await SelectSimulation.click().then(function() { + browser.sleep(2500); + }); + await SelectASchoolTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', browser.params.school + ' (The Matrix)')).click(); + await SelectATeacherTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', 'T-800 ' + browser.params.teacher)).click(); + await SelectAClassTextBox.click().then(function() { + browser.sleep(2500); + }); + element(by.cssContainingText('option', browser.params.class + ' 5')).click(); + await SelectAClassLabel.click().then(function() { + browser.sleep(2500); + }); + expect(await StudentNameOne.getText()).toEqual('HAL 9000 ' + browser.params.student); + expect(await PreTestOne.getText()).toEqual('Incomplete'); + expect(await InterstSurveyOne.getText()).toEqual('Incomplete'); + expect(await SkillsQuizOne.getText()).toEqual('Incomplete'); + expect(await CareerSelectionOne.getText()).toEqual('Not Selected'); + expect(await PostTestOne.getText()).toEqual('Incomplete'); + await BackToAdminDashboardLinkText.click().then(function() { + browser.sleep(2500); + }); + expect(await PageTitle.getText()).toEqual('Admin Dashboard'); + }); +} + +function SignOut() { + it(': SignOut; should log out of journeys page.', async function () { + var ProfileImage = element(by.css('.jmRoundCenterImage')); + var SignOutButton = element(by.css('.btn')); + + await ProfileImage.click().then(function() { + browser.sleep(1000); + }); + expect(await SignOutButton.getText()).toEqual('Logout'); + await SignOutButton.click().then(function() { + browser.sleep(2500); + }); + browser.get(browser.params.login); + browser.sleep(2500); + }); +} \ No newline at end of file